transactionsynchronization factory附加到出站JMS出站适配器?
我们正在尝试将消息发送到JMS队列,并希望在JMS发送成功后更新数据库。这个想法是,我们将在队列中发出消息时开始交易,然后一旦发送出站消息,我们就会“提交”读取和写入JMS并更新数据库。TransactionSynchronizationProcessor
看起来像是正确的接口,但我们无法弄清楚如何将其连接到出站适配器事务上。
handle(Jms.outboundAdapter(connectionFactory)
.destination("outputqueue")
.configureJmsTemplate(jmsTemplateSpec -> jmsTemplateSpec.id("jmsTemplateOutbound")
.sessionTransacted(true)
))
仅在此上才有意义,这是不正确的,因为交易管理不在这里。因此,您在此之前就开始交易了,但是您以某种方式认为
Jms.outboundAdapter()
考虑在您开始交易的地方精确使用此处理器。
请参阅
TransactionSynchronizationProcessor
和
Jms.outboundAdapter()
api.