我正在使用Java,spring-boot和ActiveMQ。 我需要在最短的时间内发送大量的消息。 现在,使用JMSTemplate逐个发送消息需要很多时间。
有什么方法可以将消息聚集在一起并立即向activemq发送保证以维护消息的顺序?
提前致谢
答案 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丢弃为其他内容。