Apache Camel + ActiveMQ 到 JBOSS Fuse,最好的方法是什么?

ApacheCamel + ActiveMQ to JBOSS Fuse, what is the best approach?

我有 ApacheCamel + ActiveMQ 和 运行 在工作,大约有 8 条不同的路线。当我们有 2 条路线时,它开始很好。路由数量在增长(目前为 10 条),添加新路由的过程涉及更新现有路由代码、测试、部署等。 我真正想要的是一个真正的 ESB,其中 bundles/services 可以在不影响其他 bundles/services 的情况下安装、启动、停止或卸载。 我做了一些研究, JBOSS Fuse 似乎是我们实现上述目标的正确选择。我确实有几个问题,希望你们能帮助我:

  1. 从哪里开始?有没有我可以遵循的类似示例或教程?
  2. 所有路线目前都在一个 Spring 项目下。是否应该将它们分成单独的包(使用 Spring-dm)?那是每条路线一捆
  3. JBOSS Fuse 是正确的选择吗 ESB?

select 在使用 Apache Camel 的基于 OSGi 的 ESB 斜线容器框架中,ServiceMix 是最老的,然后是 Fuse ESB,它被重命名为 Fuse Fabric。

因此,既然您有机会重新开始,select使用 Fuse Fabric 或开源版本 Fabric8 将是不错的选择。

阅读 Fuse Fabric 文档,了解捆绑、功能和配置文件的工作原理。

在你的情况下,你将基于你编译的包构建功能,你将能够独立更新和部署功能,并且你将能够保持对发布级别的简单控制通过配置文件的所有功能。

例如

myapp-profile 1.1
    firstapp-1.0
        bundle1
        bundle2
    secondapp-1.2
        bundle3
        bundle4
    (+configuration)

回答您的问题:

  1. 这里有一些链接

http://www.jboss.org/products/fuse/overview/

http://www.jboss.org/products/fuse/resources/#demos

  1. 如果您希望能够独立停止、启动和升级您的路线,它们应该在单独的包中。如果你愿意,你绝对可以在一个 bundle 中包含多个路由,但是每个 bundle 一个路由是完全可以的。请注意,Fuse Fabric 使用 blueprint 作为默认的 DI 框架(类似于 spring,但不相同),因为它是 OSGi 兼容的,我无法评论 Spring-dm因为我没用过

  2. Fuse Fabric 是否是真正 ESB 的正确选择,完全取决于您的决定或通过简单的概念验证来评估。其他选择是 fabric8(本质上是一样的)或像 Mule 这样的供应商解决方案。根据我自己的经验,Fuse Fabric 非常出色,尽管这是主观和个人意见。