【发布时间】:2012-12-23 09:49:10
【问题描述】:
我正在使用 activemq 发送消息。由于发送的消息数量和应用程序发送的其他工作量。我已启用异步发送。
当应用程序结束时,我想确保剩余的消息确实被传递,因为我们有时会错过连接上的最后一条消息。
四处搜索我发现只有警告表明您可能会错过一些消息,这是可以接受的,但是我们在大约 40% 的时间里会错过最后一些消息。我希望改善这种情况。
问:有什么方法可以检查 activemq 生产者/发送者是否发送了所有的异步消息?
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory( brokerUrl );
connectionFactory.setUseAsyncSend( true );
RedeliveryPolicy policy = connectionFactory.getRedeliveryPolicy();
policy.setInitialRedeliveryDelay( 500 );
policy.setBackOffMultiplier((short)2);
policy.setUseExponentialBackOff(true);
policy.setMaximumRedeliveries(10);
【问题讨论】:
标签: asynchronous activemq