独立运行Camel并让它继续运行

时间:2012-12-06 10:46:24

标签: java apache-camel

我是第一次尝试使用Apache Camel,我正在尝试使用此处的示例创建一个独立的应用程序: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));

1 个答案:

答案 0 :(得分:4)

鉴于您正在使用org.apache.camel.main.Main类或只有一个已定义上下文的spring版本,您可以执行main.getCamelContexts().get(0).addComponent("myJms",JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));,因为主类只拥有一个上下文。当您执行main.run();时,Main将创建一个名为“camel-1”的上下文。

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

选择并选择:)