使用MDP在单个事务中接收多个JMS消息

时间:2012-03-21 12:10:40

标签: spring transactions jms weblogic11g

我需要批量处理消息,比方说10。在10次事务(或者一些超时)之后,所有10个事务都会有一次提交,如果发生任何异常,将回滚所有10个消息并重新传递。

我们的应用程序在Weblogic 11g上运行,我知道使用weblogic MDB(批处理jms消息http://docs.oracle.com/cd/E13222_01/wls/docs90/bridge/tuning.html)存在此功能。

我们在应用程序中严重依赖spring,而不是出于各种原因而不使用任何EJB。有没有办法使用弹簧MDP实现这一目标?或者那里有工具吗?

1 个答案:

答案 0 :(得分:0)

实施自己并不是一件大事。事实上我昨天做了(尽管在c#中它仍然是针对JMS的)

因此,虽然我无法向您提供直接答案,但我可以告诉您我实施相同要求的经验

我遇到的一个问题是,我在队列中运行多个消费者(每个都提供批处理),队列上的预取意味着我的JMS代理将消息传递给我的消费者

这是完全可以接受的行为,但有点违背了批处理的想法。我最终在消费者之间推出了自己的同步机制,以协调谁正在消费,更重要的是关闭预取。

相关问题