2016-10-03 42 views
0

我想使从JMS般地路线能够接收一个TextMessage一个POJO。 现在我对这样一个bean路线:骆驼路线中的ServiceMix 6(ActiveMQ的)自定义类

from("jms:person_queue").to("bean:QueueConsumerBean?method=consume") 

然后我收到我的bean方法的String。我宁愿有一个带有“onMessage”方法和TextMessage的自定义类。原因是我想使用客户端确认消息,如交易。

或者还有另一种方法来使用客户端确认?

回答

1

骆驼的JMS消费者自动为您处理确认类型。如果路由成功,它将确认消息。如果它不(例如..交换命中异常处理程序)它将回滚。

BIG警告:CLIENT_ACKNOWLEDGE的行为是不直观..按照JMS规范..它ACK的当前消息,并将所有以前的会话中的..这不能可以算的上是每个消息ACK。如果你需要每条消息确认..使用TRANSACTED。