我打算使用IBM MQ Queue支持的缓冲队列通道。我希望将Spring消息放入MQ队列中,以便可以在单独的事务中处理每个消息,如果下游Web服务失败,则可以重新尝试并最终将其置于回退队列中。这样消息永远不会丢失。
我看到有JDBC Message Store和其他的实现,但我找不到MQ Queue的任何内容。如果我不在的话,能指点我吗
<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" />
同样对于生产就绪,是否还需要提供其他属性?
感谢您对此的帮助