我是第一次尝试使用 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));
最佳答案
假设您正在使用 org.apache.camel.main.Main 类或只有一个已定义上下文的 spring 版本,您可以只执行 main.getCamelContexts().get(0).addComponent("myJms ",JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
因为主类只有一个上下文。当您执行 main.run();
时,Main 将创建一个名为“camel-1”的上下文。
另一种方法是在运行方法之前将组件绑定(bind)到注册表:
main.bind("myJms",JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
选择:)
关于java - 独立运行 Camel 并让它继续运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741951/