我是第一次尝试使用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));
答案 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));
选择并选择:)