0
我正在使用Apache骆驼路由从A到B的一些SOAP消息。如何正确记录骆驼中的消息/路由(流)?
我想为某些特定路由添加日志记录,但问题是邮件正文是一个流。
我的解决办法是到流转换为字符串,并随后将其发送到端点B.
这似乎很好地工作,但我不知道这种方法是干净的?
这是我的路线看起来像现在:
<route>
<from uri="cxf:bean:ServiceA?dataFormat=MESSAGE" />
<convertBodyTo type="java.lang.String"/>
<to uri="log:my.company?level=WARN"/>
<to ref="ServiceB" />
</route>
问题是,如果我应该使用窃听和数据流缓存复制的数据流,将其转换为字符串,其记录并发送其他不变流到ServiceB。 我无法找到正确执行此操作的方法。这是我的尝试:
<route streamCache="true">
<from uri="cxf:bean:ServiceA?dataFormat=MESSAGE" />
<wireTap uri="log:my.company?level=WARN" /> <!-- how to convert this stream to a string? -->
<to ref="ServiceB" />
</route>
那么,你说什么? WireTap或上述解决方案?
还有Apache的CXF有自己的一套记录拦截器,您可以配置登录皂含量。为了检查Apache CXF文档。 –
非常感谢,这似乎是一个非常干净的解决方案。 (注意&): –
hennr
请注意,骆驼cxf代理示例(http:// camel。 apache.org/cxf-proxy-example.html)不显示此选项,但示例输出显示记录的流! (我就是这样来的) –