【发布时间】:2014-09-11 15:56:54
【问题描述】:
我计划使用由 IBM MQ Queue 支持的缓冲队列通道。我希望将 Spring 消息放入 MQ 队列中,以便可以在单独的事务中处理每个消息,如果下游 Web 服务失败,可以重新尝试并最终放入回退队列。这样消息就不会丢失。
我看到有 JDBC 消息存储和其他实现,但我找不到 MQ 队列的任何东西。如果我失踪了,你能指出我吗
<si:service-activator id="eventHandler"
input-channel="channel1l" output-channel="amountDataChannel"
method="processEvent" ref="eventService" >
</si:service-activator>
<si:channel id="amountDataChannel">
<si:queue message-store="queueMessageStore ???"/>
</si:channel>
<si:chain id="dataChain1" input-channel="amountDataChannel" output-
channel="outputChannel">
<si:poller fixed-rate="10000" max-messages-per-poll="1" />
<si:transformer ref="transformer" method="transformEvent"/>
..Make webservice call
</si:chain>
更新
阅读完这里的文档后,我正在做的是我正在做的事情,尽管我对事务管理器有疑问,我应该提供我声明的事务管理器还是使用 acknowldege 属性自动参与。如果是,那么两者有什么区别?
<jee:jndi-lookup id="amountQueue" jndi-name="jms/amountQueue" />
<si-jms:channel id="amountDataChannel" queue="amountQueue" connection-
factory="queueConnectionFactory" transaction-manager="txManager" />
对于生产准备还有其他需要给出的属性吗?
感谢您对此的帮助
【问题讨论】: