关于使用Spring JMS提高性能的建议

时间:2014-05-02 18:36:29

标签: jms spring-jms

我使用Spring JMS Listener从AMQP队列中读取消息。 如果消息在处理中失败,则使用事务会话来处理故障。 失败时将消息重定向到另一个队列。

尝试使用并发选项但不能使用它,因为我的消息处理需要按顺序选择消息。

要在队列中处理大约5000条消息,大约需要30分钟。从队列中读取消息并保存在数据库中。

配置:

<jms:listener-container container-type="default" connection-factory="connectionFactory"    acknowledge="transacted">  

<jms:listener destination="queueName" ref="processQueueMessage" method="onMessage" />

</jms:listener-container>

寻找另一种处理消息的替代方法或任何改进现有流程的建议。

1 个答案:

答案 0 :(得分:0)

更新: 仅对消息消费进行了一些分析。因此,删除了Stephane建议的处理的持久性部分。写了一个测试用例来测试消息消耗。 结果:要消耗5000条消息,大约需要30-35秒。

后续步骤: 研究数据库持久性,看看我是否能找到瓶颈。