我正在尝试为我目前的项目实施 JMS。
我将消息生产者和消息消费者创建为两个独立的应用程序,并希望将生产和消费作为两个独立的进程(客户端)。但我的要求是在生产者和消费者之间进行事务管理。假设生产者正在发送 100 条消息的批次,并且如果任何一条消息传递失败,则整个 100 条消息批次应该失败。
我想我可以做到这一点,因为我发送的每批消息都在单独的会话中,所以我可以提交或回滚会话。但是我的消费者是异步的并且在单个会话上运行。
如何在消费者中实现事务管理?如果该批处理中的任何单个消息处理(消费)失败,我希望消费者也应该回滚上述 100 条消息批处理。