我使用 spring 配置创建了一个 Camel 项目,现在,我需要在我的生产环境中部署和运行它。基本上,它是一个监听 RabbitMQ 代理的进程,并在发送消息时对其进行处理。我正在使用 eclipse,并为此目标创建了一个调试/运行配置:
camel:run
使用Spring配置文件定义路由和bean,我没有写任何主类,如何部署和运行呢?我无法在生产环境中重新编译项目,因为我无法安装新软件,所以运行我的流程所需的一切都必须从我的开发环境中复制。
有什么提示吗?谢谢!
我使用 spring 配置创建了一个 Camel 项目,现在,我需要在我的生产环境中部署和运行它。基本上,它是一个监听 RabbitMQ 代理的进程,并在发送消息时对其进行处理。我正在使用 eclipse,并为此目标创建了一个调试/运行配置:
camel:run
使用Spring配置文件定义路由和bean,我没有写任何主类,如何部署和运行呢?我无法在生产环境中重新编译项目,因为我无法安装新软件,所以运行我的流程所需的一切都必须从我的开发环境中复制。
有什么提示吗?谢谢!
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 目标基本相同。
为了使其正确部署,您可能需要使用maven 程序集插件或maven shade 插件。这将允许您创建可以部署的单个工件(zip、jar 等)。相同的代码,相同的路线定义。