java – 如何打包/部署ESB?
我试图将我的头围绕在似乎是轻量级ESB的Apache Camel上.如果我正确地了解骆驼/ ESBs,那么您可以将骆驼路线视为节点和边缘的图形.每个节点是路由上的端点(可以消耗/产生消息).每个边缘是两个不同端点(1个生产者和1个消费者)之间的路由.
假设这是正确的,我有一个实际的问题:最佳实践决定部署您的应用程序的ESB /骆驼路由?我应该将其打包成自己的JAR,还是值得成为自己的EAR充满EJB,Web服务和其他JAR? 我想我在问骆驼路线或ESB应该如何部署/架构,如: my-esb.ear/ ejb1.jar/ MyEJB_1.class ejb2.jar/ MyEJB_2.class webservice.war/ MyWebService.class 要么… my-esb.jar/ MyEJB_1.class MyEJB_2.class MyWebService.class 解决方法
从我的理解,有几种方式可以运行骆驼.
嵌入到Java应用程序中:您可以将Camel嵌入到独立的Java应用程序中.在这种情况下,您将在您的应用程序中启动一个骆驼上下文,这将启动路由等.当您的应用程序需要与服务等进行通信时,这是非常好的.为此,您需要部署骆驼和组件的第三方jar类路径. 我个人喜好是OSGi路线.它是轻松轻松的,并允许我托管我的骆驼路线作为持久服务(即Window服务,Unix Deamon)与非常小的脚印. 您现在应该意识到的是,Apache骆驼可以通过多种方式进行部署,由您自己决定如何做.花了我一段时间来了解如何部署骆驼,因为我不得不使用不同的部署模式来获得良好的感觉.我没有碰到的唯一一个是部署到应用服务器,因为我觉得这些服务器大部分都足够重. 就建筑而言,我喜欢将不同的路线/应用程序保存在不同的罐子中.由于我使用OSGi,我喜欢能够更新一个特定的路由并部署它,而无需重新部署所有的东西.如果您将所有内容部署在一个jar中,那么您需要重新整理并重新部署该jar.然而,这是个人喜好,你的里程可能会有所不同 希望这有帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |