0

私は1つのプログラムを使用して、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に増やすか、テストフォルダーでそれほど多くのメッセージを見つけることができないことです..この問題の解決を手伝ってください....ありがとうあらかじめ..

4

1 に答える 1

0

非常に多くのメッセージをキューに送信する場合、Camel とアプリケーションを停止する前に、スレッド スリープでより長く待機する必要がある可能性があります。

たとえば、キュ​​ーにあるすべてのメッセージを処理するためにより多くの時間を与える必要があります。

于 2014-03-21T09:47:40.910 に答える