使用ServiceMix与Tomcat / WAR模型的缺点是什么?

时间:2012-10-21 19:21:19

标签: java tomcat jvm esb apache-servicemix

我曾经在Tomcat / WAR项目部署中工作了一段时间,但现在考虑使用ESB模型(即SericeMix)。我应该对切换感兴趣的主要优点是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

根据我自己的经验。

ServiceMix和OSGi通常会使您的部署模型过于复杂。

如果你没有利用OSGi的好处,即注册服务,创建片段包等,并且你正在做你通常用Tomcat,Jetty等做的事情,我会引导清楚。

另一方面,如果您正在创建小型,可重复使用的捆绑包,并希望引入消息,排队和其他ESB类型功能等服务,根据我的经验,ServiceMix为我提供了一切我期待ESB。

我还使用OBR,这极大地简化了依赖关系的解析。使用ServiceMix(特定于Apache Karaf),似乎没有办法在这个时间安装可选的依赖项,这让我感到悲痛,不得不处理包冲突。

答案 1 :(得分:0)

如果你想要两全其美,我会研究Apache Camel。它为您提供了大量开箱即用的ESB功能,可以部署到任何容器中,包括tomcat和servicemix。

ServiceMix可能令人沮丧,因为您经常会遇到某些版本的项目,如Camel,CXF和WSS4J。您可以手动升级容器以包含所需的版本,但这可能很困难。但是,版本4.5.x的ServiceMix团队在发布次要版本以适应这种情况方面要好得多。构建WAR时,只需选择项目版本/ build / deploy。

关于OSGi容器的另一个问题是并非所有项目都有适合您的OSGi套件。例如,在过去,我需要具有特定功能的Apache POI。我必须继续自己创建OSGi包。

OSGi容器的优点是,您构建的bundle非常小,并且没有使用jar文件膨胀,并且您可以同时运行不同版本的bundle。然而正如沃夫加所说,如果你不需要这个功能,可能更容易保持清醒。