在独立模式下运行camel

时间:2012-04-28 17:38:17

标签: java architecture messaging apache-camel

我的系统由几个相互通信的胖客户端应用组成。这些应用程序目前通过rmi直接相互通信,但我正在探索使用消息传递框架的选项,特别是驼峰。

我知道camel可以独立运行(通常在我们进行测试时),但通常部署在容器或esb中。如果与它通信的唯一应用程序是桌面(摇摆)应用程序,那么在独立模式下运行camel是否合适?

3 个答案:

答案 0 :(得分:2)

是的,不是。 Camel是一个消息路由器,它可以帮助您定义呼叫的路由。但是它不会帮助您选择通信协议。它只是使集成更快更快(例如使用JMS来通信App1< - > App2,RMI用于App2< - > App3和一些其他协议用于App2< - > App3)。

是的,Camel可能部署在独立版本中。 Here is link how to do this。我建议创建单独的应用程序(我也会在这里使用Shade Maven插件来嵌入所有依赖项)。

您也可以考虑使用某些ESB,例如Servicemix或Fuse。然而,这是一个非常大的环境......

答案 1 :(得分:1)

实际上,ActiveMQ(例如5.5.1)的vanilla安装(解压缩)将与Camel捆绑在一起。只需编辑conf / activemq.xml并在某处插入 即可。在conf / camel.xml配置camel。 ActiveMQ没有附带所有Camel组件,因此只需将任何其他camel jar文件放入/ lib即可。您可以轻松地删除任何自己的.jar文件,例如在/ lib中定义RouteBuilder等。

答案 2 :(得分:1)

要在应用程序之间进行通信,我将使用独立的ActiveMQ代理(通常用于故障转移的两个实例)并将camel嵌入到胖客户端应用程序中。然后,您可以使用camel中的pojo消息传递功能来实现几乎透明的通信。

请参阅我的博客,了解示例http://www.liquid-reality.de/x/NoBe

相关问题