Java Camel InOut登录和注销
我使用java中的路由定义定义了一个路由:Java Camel InOut登录和注销,java,logging,request,apache-camel,response,Java,Logging,Request,Apache Camel,Response,我使用java中的路由定义定义了一个路由: routeDefinition = from("someLocation"); routeDefinition.setExchangePattern(ExchangePattern.InOut); routeDefinition.to("log:camel.logging?level=INFO&showOut=true"); routeDefinition.to("someOtherLocation"); routeDefinition.rou
routeDefinition = from("someLocation");
routeDefinition.setExchangePattern(ExchangePattern.InOut);
routeDefinition.to("log:camel.logging?level=INFO&showOut=true");
routeDefinition.to("someOtherLocation");
routeDefinition.routeId("someId");
消息按预期被使用和响应,但是当我查看日志时,“Out”消息总是空的,即
camel - Exchange[ExchangePattern:InOut, BodyType:String, Body:{"timestamp":1393602518590,"headers":{"JMSCorrelationID":"54783292"},"data":{...}}, Out: null]
如何记录传入和传出的消息?如常见问题解答所述,忘记输出 如果您在路由的末尾添加日志,那么日志输出的内容将返回给客户端 这是管道和过滤器的原理
查看此常见问题解答:您是说它只是将exchange记录到(“日志…没有响应?如果是,我如何记录以便实现上面的目标?”是的,日志只记录登录,因为日志没有更改/设置输出消息。但我的另一个要路由(“其他位置”)是一个JMS代理,它以消息(即我正在尝试使用)进行响应。那么我如何记录我正在发送的消息和代理答复的消息呢?在路由末尾添加日志我也在尝试这样做。这是我从camel rabbitmq的“out”中获得的唯一日志“从
InOut
exchange:2016-02-19 18:27:47.456调试8920---[abbitMQConsumer]o.a.c.c.rabbitmq.RabbitMQEndpoint:将消息发送到exchange:amq.topic,CorrelationId=null
。我不知道它发送的是什么、正文、标题等等。我认为应该有一种方法(功能请求?)在Camel中实现这一点。应该可以像登录“in”一样轻松地登录“out”,特别是对于InOut
交换。