1

我第一次尝试使用 Apache Camel,我正在尝试使用此处找到的示例创建一个独立的应用程序:http: //camel.apache.org/running-camel-standalone-and-have-it-keep-运行.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 类或仅定义了一个上下文的 spring 版本,您可以这样做,main.getCamelContexts().get(0).addComponent("myJms",JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));因为主类只拥有一个上下文。当您执行main.run();一个名为“camel-1”的上下文时,Main 将创建该上下文。

另一种方法是在运行方法之前将组件绑定到注册表: main.bind("myJms",JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));

挑选 :)

于 2012-12-06T12:02:41.830 回答