IBM MQ 從接收通道獲取數據

一、IBM MQ服務端配置(模擬服務端)

a)打開「WebSphere MQ資源管理器」,新建隊列管理器,名稱爲fwd_dlgl_name(服務器端mq隊列管理器名稱),其他採用默認設置;java

b)在fwd_dlgl_name(服務器端mq隊列管理器名稱) 隊列管理器中建立本地隊列,名稱爲fwd_bddl_name(服務器端mq本地隊列名稱);服務器

c)建立傳輸隊列,名稱爲fwd_csdl_name(服務器端mq本地傳輸隊列名稱)(新建時選擇「本地隊列」,將「用法」設置爲「傳輸」);測試

d)建立遠程隊列定義,名稱爲fwd_ycdl_name(服務器端mq遠程隊列名稱),指定遠程隊列名稱爲khd_bddl_name(客戶端端mq本地隊列名稱),遠程隊列管理器名稱爲khd_dlgl_name(客戶端mq隊列管理器名稱),傳輸隊列名稱爲fwd_csdl_name(服務器端mq本地傳輸隊列名稱);spa

e)建立發送方通道,名稱爲yc_kh(服務端發送到客戶端的通道名稱),傳輸協議爲TCP/IP,鏈接名稱爲客戶端ip地址(客戶端mq的端口),傳輸隊列爲fwd_csdl_name(服務器端mq本地傳輸隊列名稱);code

f)建立服務器鏈接通道,名稱爲DC.SVRCONN,採用默認設置(該通道主要給後面的測試程序使用)。blog

g)服務端發送消息隊列

 

找到 遠程隊列定義  fwd_ycdl_name,右鍵,以下圖ip

 

選擇「放入測試消息...」,以下圖:資源

 

 

 消息數據 中錄入測試數據 ,點擊  「放入消息」按鈕 發送消息到客戶端。字符串

二、IBM MQ 客戶端配置

a打開「WebSphere MQ資源管理器,新建隊列管理器,名稱爲khd_dlgl_name(客戶端mq隊列管理器名稱),其他採用默認設置;

bkhd_dlgl_name(客戶端mq隊列管理器名稱)隊列管理器中建立本地隊列,名稱爲khd_bddl_name(客戶端端mq本地隊列名稱);

c建立接受方通道,名稱爲yc_kh(必須與服務端發送到客戶端的通道名稱相同),採用默認設置;

d建立服務器鏈接通道,名稱爲DC.SVRCONN,採用默認設置。

e)客戶端讀取消息代碼

import com.ibm.mq.MQC;

import com.ibm.mq.MQEnvironment;

import com.ibm.mq.MQMessage;

import com.ibm.mq.MQQueue;

import com.ibm.mq.MQQueueManager;

public class IBMQRead {

/** 變量 */

private final static int OPENOPTIONS = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT | MQC.MQOO_INQUIRE;

  static{

MQEnvironment.hostname = "192.168.0.158";

MQEnvironment.channel = "DC.SVRCONN";

MQEnvironment.port = 1414;

MQEnvironment.CCSID = 1381;

  }

public static void main(String[] args) {

try {

//初始化

 MQQueueManager queueManager = new MQQueueManager("khd_dlgl_name");//隊列管理器名稱

 //  隊列名稱     

 MQQueue mqQueue = queueManager.accessQueue("khd_bddl_name", OPENOPTIONS, null, null, null);

//獲取管道深度

int currentDepth = mqQueue.getCurrentDepth();

//進行遍歷管道中的全部數據內容

while(currentDepth-- > 0){

// 要讀的隊列的消息

MQMessage mqMessage = new MQMessage();

mqQueue.get(mqMessage);

int dataLength = mqMessage.getDataLength();

//獲得字符串

String readXml = mqMessage.readStringOfByteLength(dataLength);

System.out.println(readXml);

}

} catch (Exception e) {

e.printStackTrace();

}

 

}

}

 

IBM MQ所需的 jar

 

<!-- IBMMQ -->

     <dependency>

            <groupId>com.ibm.mq</groupId>

            <artifactId>jmqi</artifactId>

            <version>7.5</version>

        </dependency>

        <dependency>

            <groupId>com.ibm.mq</groupId>

            <artifactId>headers</artifactId>

            <version>7.5</version>

        </dependency>

        <dependency>

            <groupId>com.ibm</groupId>

            <artifactId>mq</artifactId>

            <version>7.5</version>

        </dependency>

        <dependency>

            <groupId>com.ibm.mq</groupId>

            <artifactId>jms</artifactId>

            <version>7.5</version>

        </dependency>

        <dependency>

            <groupId>com.ibm.mq</groupId>

            <artifactId>dhbcore</artifactId>

            <version>7.5</version>

        </dependency>

        <dependency>

            <groupId>com.ibm</groupId>

            <artifactId>mqjms</artifactId>

            <version>7.5</version>

        </dependency>

        <dependency>

            <groupId>com.ibm.mq</groupId>

            <artifactId>connector</artifactId>

            <version>7.5</version>

        </dependency>

        <dependency>

            <groupId>com.ibm.mq</groupId>

            <artifactId>commonservices</artifactId>

            <version>7.5</version>

        </dependency>
相關文章
相關標籤/搜索