Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ServiceMix与Tomcat/WAR模型的优缺点是什么?_Java_Tomcat_Jvm_Esb_Apache Servicemix - Fatal编程技术网

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

Java 使用ServiceMix与Tomcat/WAR模型的优缺点是什么?,java,tomcat,jvm,esb,apache-servicemix,Java,Tomcat,Jvm,Esb,Apache Servicemix,我曾经在Tomcat/WAR项目部署中工作过一段时间,但现在正在考虑ESB模型,即Seriemix。主要的优点/缺点是什么?为什么我应该对转换感兴趣 谢谢 根据我自己的经验 ServiceMix和OSGi通常会使部署模型过于复杂 如果您没有充分利用OSGi的优势,即注册服务、创建片段捆绑包等,并且您正在做通常使用Tomcat、Jetty等所做的事情,我会避开 另一方面,如果您正在创建小型的、可重用的bundle,并且希望引入消息传递、队列和其他ESB类型的功能,那么根据我的经验,ServiceM

我曾经在Tomcat/WAR项目部署中工作过一段时间,但现在正在考虑ESB模型,即Seriemix。主要的优点/缺点是什么?为什么我应该对转换感兴趣


谢谢

根据我自己的经验

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

如果您没有充分利用OSGi的优势,即注册服务、创建片段捆绑包等,并且您正在做通常使用Tomcat、Jetty等所做的事情,我会避开

另一方面,如果您正在创建小型的、可重用的bundle,并且希望引入消息传递、队列和其他ESB类型的功能,那么根据我的经验,ServiceMix已经为我提供了ESB所能提供的一切


我还使用了,这大大简化了依赖项的解析。具体来说,使用ServiceMix Apache Karaf,此时似乎没有办法不安装可选依赖项,这让我很难过,不得不处理包冲突。

如果您想在这两个方面都做到最好,我会研究Apache Camel。它提供了很多现成的ESB功能,可以部署到任何容器中,包括tomcat和servicemix

ServiceMix可能会令人沮丧,因为您经常被锁定在某些版本的项目中,如Camel、CXF和WSS4J。您可以手动升级容器以包含所需的版本,但这可能很困难。然而,版本为4.5.x的ServiceMix团队在发布次要版本以适应这一点方面做得更好。构建WAR时,只需选择项目版本/build/deploy

OSGi容器的另一个特点是,并非所有项目都有OSGi就绪捆绑包。例如,过去我需要具有特定功能的ApachePOI。我必须自己动手创建OSGi包

OSGi容器的优点是,您构建的bundle的大小非常小,并且没有jar文件过多,您可以同时运行不同版本的bundle。然而,正如Wulfgar所说,如果您不需要这个功能,那么可能更容易远离它