一次发送多个jMS消息并保持序列

时间:2018-02-22 07:57:51

标签: java jms activemq

我正在使用Java,spring-boot和ActiveMQ。 我需要在最短的时间内发送大量的消息。 现在,使用JMSTemplate逐个发送消息需要很多时间。

有什么方法可以将消息聚集在一起并立即向activemq发送保证以维护消息的顺序?

提前致谢

2 个答案:

答案 0 :(得分:2)

对于大型消息流,默认的ActiveMQ配置可能很慢。我们使用以下配置来提高消息速率 -

connection.setOptimizeAcknowledge(true);
consumerSession = connection.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);

setOptimizeAcknowledge配置对已接收消息的优化确认,而Session.DUPS_OK_ACKNOWLEDGE允许批量确认。

答案 1 :(得分:1)

Spring的JMSTemplate因Java EE容器(或其他提供池化连接资源的环境)之外的性能不佳而臭名昭着。详细了解Apache ActiveMQ website。因此,您需要使用连接池或将JMSTemplate丢弃为其他内容。