企業整合模式

功能 > 企業整合模式

企業整合模式

Apache ActiveMQ Classic 5.0 及更新版本完全支援 企業整合模式 (出自 Gregor HohpeBobby Woolf 的精采著作),透過 Apache Camel 函式庫

您可以輕鬆地將任何支援的企業整合模式新增到 ActiveMQ Classic 中 (無論是在 JMS 用戶端或 Broker 程序中),以支援智慧路由、轉換和許多其他強大的模式。您當然也可以直接將 Camel 函式庫嵌入到您的應用程式中,例如透過 Spring

這也表示您可以將所有的 Camel 元件乾淨地整合到 ActiveMQ Classic 中,因此您可以輕鬆地與 CXF檔案JBIJPAMailMINAQuartzXMPP許多其他協定和傳輸方式整合!

在 ActiveMQ Classic Broker 中使用 EIP

Broker 的 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.dev.org.tw/camel/schema/spring">
 <package>org.acme.cheese</package>
</camelContext>

使用 XML 撰寫 EIP 規則

使用 XML 更簡單,因為您可以使用 Camel 的 Spring XML 格式,將任何路由規則嵌入到 <camelContext> 元素中。請注意,XML 比 Java DSL 更冗長,但部署起來稍微簡單一些。例如,一個簡單的路由...

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

在 JMS 用戶端中使用 EIP

您可以從您的 JMS 用戶端直接使用 Camel 端點,根據您想要使用的 JMS API,使用以下其中一個 JMS 目的地

然後,您可以在傳送或接收訊息時,像任何其他 JMS 目的地一樣使用此目的地!這表示您可以僅透過變更 Destination 物件,從您的 JMS 程式碼中使用大量 Camel 元件

另請參閱

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。 版權所有 © 2024,The Apache Software Foundation。 根據Apache License 2.0授權。