Apache camel 在Camel中跟踪流消息
在我的项目中,使用ApacheCamel进行消息路由。来自某些节点的消息需要跟踪。为此,我使用BacklogTracer的实例。只要传递的消息不是InputStream,就可以了。在这种情况下,将收到以下字符串: [正文是java.io.InputStream的实例] 对于跟踪流,使用键“isBodyIncludeStreams”。现在我从一个InputStream获得一条消息,但是现在读取了一条流,路由释放了一条消息以供进一步处理。Apache camel 在Camel中跟踪流消息,apache-camel,Apache Camel,在我的项目中,使用ApacheCamel进行消息路由。来自某些节点的消息需要跟踪。为此,我使用BacklogTracer的实例。只要传递的消息不是InputStream,就可以了。在这种情况下,将收到以下字符串: [正文是java.io.InputStream的实例] 对于跟踪流,使用键“isBodyIncludeStreams”。现在我从一个InputStream获得一条消息,但是现在读取了一条流,路由释放了一条消息以供进一步处理。 所以,问题是,我如何跟踪InputStream中的消息而不丢
所以,问题是,我如何跟踪InputStream中的消息而不丢失它们 BacklogTracer的实例:
val tracer = camelContext.defaultBacklogTracer as BacklogTracer
tracer.isEnabled = true
tracer.isBodyIncludeStreams = true
Apache Camel版本:2.24.0为了不丢失流,您需要激活流缓存:
camelContext.isStreamCaching = true
此外,这里还有一些缓存策略的配置: