ApacheCamel和Jms示例程序

ApacheCamel和Jms示例程序,jms,apache-camel,activemq,jms-topic,Jms,Apache Camel,Activemq,Jms Topic,我正在使用一个程序使用jms和apache camel将消息发布到activemq public final class CamelJmsTofileExample { private CamelJmsTofileExample() {} public static void main(String args[]) throws Exception { CamelContext context = new DefaultCamelContext();

我正在使用一个程序使用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();
    }
}
public final类CamelJmsTofileExample{
私有CamelJmsTofileExample(){}
公共静态void main(字符串args[])引发异常{
CamelContext=新的DefaultCamelContext();
ConnectionFactory ConnectionFactory=新的ActiveMQConnectionFactory(
“vm://localhost?broker.persistent=false”);
addComponent(“测试jms”,
JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
addRoutes(新RouteBuilder(){
public void configure(){
从(“test-jms:queue:test.queue”)。到(“file://test");
}
});
ProducerTemplate=context.createProducerTemplate();
context.start();
对于(int i=0;i<100;i++){
template.sendBody(“testjms:queue:test.queue”,“测试消息:+i”);
}
睡眠(1000);
context.stop();
}
}

它正确地放置了10封邮件…但问题是当“i”的计数增加到100500或其他一些我无法在测试文件夹中找到那么多邮件时..请帮助我解决此问题..提前感谢..

如果您向队列发送这么多邮件,然后,在停止Camel和应用程序之前,您可能需要在线程睡眠中等待更长的时间

您需要给它更多的时间来处理队列中的所有消息