在我们的一个项目中,当我们使用具有大量消息(1M或更多)的调度工具(在ActiveMQ配置中启用schedulerSupport)时,我们正在遭受ActiveMQ性能下降的困扰。该项目是基于Spring的,我们也使用Camel进行路径管理。
我们的路线配置如下:
ScheduledMessage.AMQ_SCHEDULED_DELAY
:message.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, <delay>);
)其中评估<delay>
根据消息时间窗口当P产生即时处理的消息时(即没有时间窗口),即使有大量消息(1M或更多),系统也能很好地运行:监视队列,我们可以看到它们几乎是空的(没有消息保持待处理状态)任何队列)。
当P生成用于延迟处理的消息时(即,使用时间窗口),我们会看到以下行为:
问题摘要
欢呼并提前感谢您的帮助,
性爱
答案 0 :(得分:0)
5.4版的ActiveMQ在ActiveMQ消息代理activemq.apache.org/delay-and-schedule-message-delivery.html
中内置了一个可选的持久性调度程序为了提高效果,请尝试将以下代码添加到brokerURL
ActiveMQConnectionFactory
例如:
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616?jms.copyMessageOnSend=false&jms.dispatchAsync=true&jms.useAsyncSend=true");
看看
http://activemq.apache.org/connection-configuration-uri.html http://activemq.apache.org/performance-tuning.html