1

我曾经为大量 Tomcat/WAR 项目部署工作过一段时间,但现在正在考虑 ESB 模型(即 SericeMix)。为什么我应该对转换感兴趣?

谢谢!

4

2 回答 2

0

If you want the best of both worlds, I would look into Apache Camel. It gives you a lot of the ESB functionality out of the box and can be deployed into any container including tomcat and servicemix.

ServiceMix can be frustrating because often times you are locked into certain version of projects like Camel, CXF and WSS4J. You can manually upgrade the container to contain the versions that you need but this can be difficult. However, the ServiceMix team with version 4.5.x has been a lot better about releasing minor versions to accommodate this. When building a WAR, you just select your project versions/build/deploy.

The other thing about an OSGi container is that not all projects have OSGi ready bundles for you. For example, in the past I needed Apache POI with specific functionality. I had to go ahead and create the OSGi bundle on my own.

The advantages to the OSGi container are that the bundles you build are very small in size and not bloated with jar files and you can have different versions of bundles running at the same time. However as Wulfgar says, if you don't need this functionality, it might be easier to stay clear of it.

于 2013-11-21T16:13:56.260 回答
0

根据我自己的经验。

ServiceMix 和一般的 OSGi 往往会使您的部署模型过于复杂。

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

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

我也在使用OBR,它极大地简化了依赖关系的解决。使用 ServiceMix(具体来说是 Apache Karaf),目前似乎没有办法安装可选依赖项,这让我很伤心,不得不处理包冲突。

于 2012-10-27T03:08:59.363 回答