我想建立一个从JMS到可以接收TextMessage
的POJO的 Camel 路由。现在我路由到一个bean,如下所示:
from("jms:person_queue").to("bean:QueueConsumerBean?method=consume")
然后我在bean方法中接收String
。我宁愿有一个带有onMessage
方法和TextMessage
的自定义类。原因是我想对消息使用客户端确认,就像事务一样。
还是有其他方法来使用客户端确认?
我想建立一个从JMS到可以接收TextMessage
的POJO的 Camel 路由。现在我路由到一个bean,如下所示:
from("jms:person_queue").to("bean:QueueConsumerBean?method=consume")
然后我在bean方法中接收String
。我宁愿有一个带有onMessage
方法和TextMessage
的自定义类。原因是我想对消息使用客户端确认,就像事务一样。
还是有其他方法来使用客户端确认?
1条答案
按热度按时间h22fl7wq1#
Camel的JMS消费者会自动为您处理ack类型。如果路由成功,它将确认消息。如果没有(即)exchange hits an exception handler),它将回滚它。
重大警告:CLIENT_ACKNOWLEDGE的行为不直观。根据JMS规范。它确认会话中当前消息和所有先前消息。这不能被认为是每消息ACK。如果你需要每一个消息确认..使用TRANSACTED。