Apache ActiveMQ(以下簡稱 ActiveMQ)是最流行、最強大的開源消息代理和消息伺服器。 它支援 JMS 1.1 和 J2EE 1.4。 因為許多企業正在將開源技術集成到其消息HTTP://www.aliyun.com/zixun/aggregation/13748.html">基礎架構中,所以本文將使用一個示例消息來展示如何配置 IBM® WebSphere® Message Broker(以下簡稱 Message Broker),使它能夠以 JMS 提供程式的身份與 Apache ActiveMQ 集成。
為了展示 Message Broker 與 ActiveMQ 的集成,本文將使用集成即服務 (IaaS) 提供程式 Meddius,它使用 ActiveMQ 通過 JMS 提供了一個 HL7 解決方案。 在下圖中,ActiveMQ 通過 JMS 從 Meddius 接收 HL7 消息,將它們轉發給 Message Broker(它使用自己的 Compute 節點來處理它們),然後將 HL7 事務寫入一個資料庫表中。
圖 1
配置 ActiveMQ
從 Apache ActiveMQ 網站 將 ActiveMQ V5.7 下載並安裝到一台安裝了 Message Broker Toolkit 的 Microsoft Windows 機器上。 完成安裝之後,啟動 ActiveMQ 消息代理:運行批次檔 apache-activemq-5.6.0\bin\activemq.bat。 直到在主控台輸出中看到以下消息:
圖 2
打開一個瀏覽器視窗,然後在 URL 框中輸入 HTTP://localhost:8161/admin,以便打開 ActiveMQ 管理主控台:
圖 3
按一下 Queues 選項卡並創建兩個佇列:IN.Q 和d OUT. Q:
圖 4
創建一個包含如下所示內容的 JNDI 屬性檔,將它保存為 jndi.properties: java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialCoNtextFactoryjava.naming.provider.url = vm:// localhostconnectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactoryqueue.jmsINQ = IN . Qqueue.jmsOUTQ = OUT. Q
jmsINQ 和 jmsOUTQ 分別對應于物理佇列 IN. Q 和 OUT. Q 的 JMS 目標。
也可使用一個名為 ConnectionFactory 的預定義連接工廠,為實際佇列名稱添加 dynamicQueues/ 作為首碼,以避免創建 jndi.properties 檔。