我正在使用一个程序使用jms和apache camel将消息发布到activemq ..
public final class CamelJmsTofileExample {
private CamelJmsTofileExample() {}
public static void main(String args[]) throws Exception {
CamelContext context = new DefaultCamelContext();
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
"vm://localhost?broker.persistent=false");
context.addComponent("test-jms",
JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
context.addRoutes(new RouteBuilder() {
public void configure() {
from("test-jms:queue:test.queue").to("file://test");
}
});
ProducerTemplate template = context.createProducerTemplate();
context.start();
for (int i = 0; i < 100; i++) {
template.sendBody("test-jms:queue:test.queue", "Test Message: " + i);
}
Thread.sleep(1000);
context.stop();
}
}
正确地输入10条消息...但问题是当“i”的数量增加到100,500或者我无法在测试文件夹中找到那么多消息时...帮助我解决这个问题.. ..提前谢谢..
答案 0 :(得分:0)
如果您向队列发送了这么多消息,那么在停止Camel和应用程序之前,您可能需要在线程休眠中等待更长时间。
例如,您需要给它更多时间来处理队列中的所有消息。