1

私は初めてApacheCamelを試していますが、次の例を使用してスタンドアロンアプリケーションを作成しようとしています: http: //camel.apache.org/running-camel-standalone-and-have-it-keep- running.html

この例では、org.apache.camel.Mainクラスを使用してアプリケーションのライフサイクルを管理しています。この例は正常に機能しますが、私が理解していないのは、例でCamelコンテキストがどのように作成され、コンポーネントを追加するためにそれを取得する方法です。デフォルトのコンテキストに次のようなものを追加したいと思います。

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
context.addComponent("myJms", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
4

1 に答える 1

4

org.apache.camel.main.Mainクラスまたは1つの定義されたコンテキストのみを持つSpringバージョンを使用している場合main.getCamelContexts().get(0).addComponent("myJms",JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));、メインクラスが所有するコンテキストは1つしかないため、これを行うことができます。main.run();「camel-1」という名前のコンテキストを1つ実行すると、Mainによって作成されます。

別の方法は、runメソッドの前にコンポーネントをレジストリにバインドすることです。 main.bind("myJms",JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));

選んで決める :)

于 2012-12-06T12:02:41.830 に答える