我想建立一条从 JMS 到 POJO 的骆驼路线,该路线可以接收
TextMessage
。
现在我路由到这样的bean:
from("jms:person_queue").to("bean:QueueConsumerBean?method=consume")
然后我在我的 bean 方法中收到一个
String
。我宁愿有一个带有 onMessage
方法和 TextMessage
的自定义类。原因是我想对消息使用客户端确认,就像事务一样。
或者还有其他方法使用客户端ack吗?
Camel 的 JMS 消费者自动为您处理 ack 类型。如果路由成功,它将确认该消息。如果没有(即……交换遇到异常处理程序),它将回滚。
大警告:CLIENT_ACKNOWLEDGE 的行为并不直观..根据 JMS 规范..它确认当前消息以及会话中所有先前的消息..这不能被视为每条消息的确认。如果您需要按消息确认..使用 TRANSACTED。