企业集成模式

功能 > 企业集成模式

企业集成模式

Apache ActiveMQ Classic 5.0 及更高版本完全支持 企业集成模式(来自 Gregor HohpeBobby Woolf 编写的优秀书籍),通过 Apache Camel 库 实现。

您可以轻松地将任何受支持的 企业集成模式 添加到 ActiveMQ Classic(在 JMS 客户端或代理程序进程中)以支持智能路由、转换和许多其他强大的模式。当然,您也可以将 Camel 库 直接嵌入到您的应用程序中,例如通过 Spring

这也意味着您可以将所有 Camel 组件 整合到 ActiveMQ Classic 中,以便您可以轻松地与 CXF文件JBIJPA邮件MINAQuartzXMPP许多其他协议和传输! 进行集成。

在 ActiveMQ Classic Broker 中使用 EIP

代理程序的 activemq.xml 文件已配置为支持 Camel;您只需自定义路由规则。

使用 Java 代码编写 EIP 规则

要使用 Java 代码编写 EIP 路由规则,只需将您的类放在类路径上(例如在 activemq/lib/myroutes/foo.jar 中)。然后,为了让 Camel 找到您的路由,您需要编辑 activemq.xml,以便 packages 属性指向要查找的包名称(或父包名称)。

例如,如果您的所有路由都在 org.acme.cheese 包中,例如 org.acme.cheese.whatnot.MyRouter,那么您可以将 XML 编辑为…

<camelContext xmlns="https://activemq.apache.org/camel/schema/spring">
 <package>org.acme.cheese</package>
</camelContext>

使用 XML 编写 EIP 规则

要使用 XML,它更简单,因为您只需使用 Camel 的 Spring XML 格式 将任何路由规则嵌入到 <camelContext> 元素中。请注意,XML 比 Java DSL 更冗长,但部署起来稍微简单一些。例如,对于一个微不足道的路由…

<camelContext xmlns="https://activemq.apache.org/camel/schema/spring">
  <route>
    <from uri="activemq:com.acme.MyQueue"/>
    <to uri="activemq:com.acme.SomeOtherQueue"/>
  </route>
</camelContext>

在 JMS 客户端中使用 EIP

您可以直接从 JMS 客户端使用 Camel 端点,以下列 JMS 目标之一,具体取决于您希望它使用的 JMS API

然后,您可以在发送或接收消息时像使用任何其他 JMS 目标一样使用此目标!这意味着,通过仅更改 Destination 对象,您就可以从 JMS 代码中使用 大量 Camel 组件

另请参阅

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛标志和 Apache ActiveMQ 项目标志是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 许可。