我使用spring配置创建了一个Camel项目,现在,我需要在我的生产环境中部署和运行它。基本上它是一个侦听RabbitMQ代理的进程,并在发送消息时处理它。我正在使用eclipse,我创建了一个具有此目标的调试/运行配置:
camel:run
使用Spring配置文件来定义路由和bean,我没有编写任何主类,所以如何部署它并运行它?我无法在生产环境中重新编译项目,因为我无法安装新软件,所以我需要运行我的进程所需的一切都必须从我的开发环境中复制。
任何提示?谢谢!
答案 0 :(得分:3)
http://camel.apache.org/running-camel-standalone.html
和
http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html
描述允许您部署/运行的机制。
camel:run与创建加载Spring应用程序上下文的org.apache.camel.spring.Main类基本相同。它可以很简单:
public static void main( final String[] args) {
Main main = new Main();
main.setApplicationContextUri("classpath:META-INF/applicationContext.xml");
main.enableHangupSupport();
try {
main.run();
} ...
}
这与camel:run goal基本相同。
为了正确部署,您可能需要使用maven assembly plugin或maven shade plugin。这将允许您创建可以部署的单个工件(zip,jar,等等)。相同的代码,相同的路由定义。