WebSphere MQ傳輸環境搭建和測試
在“WebSphere MQ程式設計初探”一文中,討論了從MQ佇列管理器的本地佇列中放置和讀出訊息的程式,本文主要通過兩臺機器,搭建MQ訊息傳輸的環境,並編寫測試程式進行測試。 第一、準備工作
準備2臺Win2000環境(XP也可),通過乙太網連通。
機器A:程式碼為00000000,IP地址為:10.1.1.1
機器B:程式碼為88888888,IP地址為:10.1.1.2
安裝MQ 5.3
第二、建立MQ物件
A機器上:
1、開啟“WebSphere MQ資源管理器”,新建佇列管理器,名稱為QM_00000000,其餘採用預設設定;
2、在QM_00000000佇列管理器中建立本地佇列,名稱為LQ_00000000;
3、建立傳輸佇列,名稱為XQ_88888888(新建時選擇“本地佇列”,將“用法”設定為“傳輸”);
4、建立遠端佇列定義,名稱為RQ_88888888,指定遠端佇列名稱為LQ_88888888,遠端佇列管理器名稱為QM_88888888,傳輸佇列名稱為XQ_88888888;
5、建立傳送方通道,名稱為00000000.88888888,傳輸協議為TCP/IP,連線名稱為10.1.1.2(1414),傳輸佇列為XQ_88888888;
6、建立接受方通道,名稱為88888888.00000000,採用預設設定;
7、建立伺服器連線通道,名稱為DC.SVRCONN,採用預設設定(該通道主要給後面的測試程式使用)。
B機器和A機器上的操作一樣,只是命名不同,如下:
1、開啟“WebSphere MQ資源管理器”,新建佇列管理器,名稱為QM_88888888,其餘採用預設設定;
2、在QM_88888888佇列管理器中建立本地佇列,名稱為LQ_88888888;
3、建立傳輸佇列,名稱為XQ_00000000(新建時選擇“本地佇列”,將“用法”設定為“傳輸”);
4、建立遠端佇列定義,名稱為RQ_00000000,指定遠端佇列名稱為LQ_00000000,遠端佇列管理器名稱為QM_00000000,傳輸佇列名稱為XQ_00000000;
5、建立傳送方通道,名稱為88888888.00000000,傳輸協議為TCP/IP,連線名稱為10.1.1.1(1414),傳輸佇列為XQ_00000000;
6、建立接受方通道,名稱為00000000.88888888,採用預設設定;
7、建立伺服器連線通道,名稱為DC.SVRCONN,採用預設設定。
第三、訊息測試
在A、B機器上分別啟動其傳送方通道,正常情況通道狀態應為“正在執行”。
通過如下測試程式進行測試,檔名為:MQTest.java,在機器A上進行執行(如在B上執行請讀者自行適當修改)。
import java.io.IOException;import java.util.Hashtable;import com.ibm.mq.MQException;import com.ibm.mq.MQMessage;import com.ibm.mq.MQPutMessageOptions;import com.ibm.mq.MQQueue;import com.ibm.mq.MQQueueManager;public
class MQSample{//定義佇列管理器和佇列的名稱
private
static String qmName =
"QM_00000000";private
static String qName =
"RQ_88888888";private
static MQQueueManager qMgr;private
static Hashtable properties =
new Hashtable();public
static
void main(String args[]) {try {properties.put("hostname", "10.1.1.1");properties.put("port", new Integer(1414));properties.put("channel", "DC.SVRCONN");properties.put("CCSID", new Integer(1381));properties.put("transport","MQSeries");// Create a connection to the queue manager
qMgr =
new MQQueueManager(qmName,properties);// Set up the options on the queue we wish to open...
int openOptions =
16;// Now specify the queue that we wish to open,// and the open options...
MQQueue remoteQ = qMgr.accessQueue(qName, openOptions);// Define a simple WebSphere MQ message, and write some text in UTF format..
MQMessage putMessage =
new MQMessage();putMessage.writeUTF("Test");// specify the message options...
MQPutMessageOptions pmo =
new MQPutMessageOptions();// accept the defaults, same as MQPMO_DEFAULT// put the message on the queue
remoteQ.put(putMessage,pmo);System.out.println("Message has been input into the Remote Queue");// Close the queue...
remoteQ.close();// Disconnect from the queue manager
qMgr.disconnect();}catch (MQException ex) {// If an error has occurred in the above, try to identify what went wrong// Was it a WebSphere MQ error?
System.out.println("A WebSphere MQ error occurred : Completion code "
+ ex.completionCode +
" Reason code "
+ ex.reasonCode);}catch (IOException ex) {// Was it a Java buffer space error?
System.out.println("An error occurred whilst writing to the message buffer: "
+ ex);}catch(Exception ex){ex.printStackTrace();}}}
執行程式後,請在B機器的本地佇列LQ_88888888中檢查是否有訊息存在,如果有說明測試成功。讀者可以自行編寫把訊息從對方的本地佇列讀取出來的程式。
準備2臺Win2000環境(XP也可),通過乙太網連通。
機器A:程式碼為00000000,IP地址為:10.1.1.1
機器B:程式碼為88888888,IP地址為:10.1.1.2
安裝MQ 5.3
第二、建立MQ物件
A機器上:
1、開啟“WebSphere MQ資源管理器”,新建佇列管理器,名稱為QM_00000000,其餘採用預設設定;
2、在QM_00000000佇列管理器中建立本地佇列,名稱為LQ_00000000;
3、建立傳輸佇列,名稱為XQ_88888888(新建時選擇“本地佇列”,將“用法”設定為“傳輸”);
4、建立遠端佇列定義,名稱為RQ_88888888,指定遠端佇列名稱為LQ_88888888,遠端佇列管理器名稱為QM_88888888,傳輸佇列名稱為XQ_88888888;
5、建立傳送方通道,名稱為00000000.88888888,傳輸協議為TCP/IP,連線名稱為10.1.1.2(1414),傳輸佇列為XQ_88888888;
6、建立接受方通道,名稱為88888888.00000000,採用預設設定;
7、建立伺服器連線通道,名稱為DC.SVRCONN,採用預設設定(該通道主要給後面的測試程式使用)。
B機器和A機器上的操作一樣,只是命名不同,如下:
1、開啟“WebSphere MQ資源管理器”,新建佇列管理器,名稱為QM_88888888,其餘採用預設設定;
2、在QM_88888888佇列管理器中建立本地佇列,名稱為LQ_88888888;
3、建立傳輸佇列,名稱為XQ_00000000(新建時選擇“本地佇列”,將“用法”設定為“傳輸”);
4、建立遠端佇列定義,名稱為RQ_00000000,指定遠端佇列名稱為LQ_00000000,遠端佇列管理器名稱為QM_00000000,傳輸佇列名稱為XQ_00000000;
5、建立傳送方通道,名稱為88888888.00000000,傳輸協議為TCP/IP,連線名稱為10.1.1.1(1414),傳輸佇列為XQ_00000000;
6、建立接受方通道,名稱為00000000.88888888,採用預設設定;
7、建立伺服器連線通道,名稱為DC.SVRCONN,採用預設設定。
第三、訊息測試
在A、B機器上分別啟動其傳送方通道,正常情況通道狀態應為“正在執行”。
通過如下測試程式進行測試,檔名為:MQTest.java,在機器A上進行執行(如在B上執行請讀者自行適當修改)。
import java.io.IOException;import java.util.Hashtable;import com.ibm.mq.MQException;import com.ibm.mq.MQMessage;import com.ibm.mq.MQPutMessageOptions;import com.ibm.mq.MQQueue;import com.ibm.mq.MQQueueManager;public
class MQSample{//定義佇列管理器和佇列的名稱
private
static String qmName =
"QM_00000000";private
static String qName =
"RQ_88888888";private
static MQQueueManager qMgr;private
static Hashtable properties =
new Hashtable();public
static
void main(String args[]) {try {properties.put("hostname", "10.1.1.1");properties.put("port", new Integer(1414));properties.put("channel", "DC.SVRCONN");properties.put("CCSID", new Integer(1381));properties.put("transport","MQSeries");// Create a connection to the queue manager
qMgr =
new MQQueueManager(qmName,properties);// Set up the options on the queue we wish to open...
int openOptions =
16;// Now specify the queue that we wish to open,// and the open options...
MQQueue remoteQ = qMgr.accessQueue(qName, openOptions);// Define a simple WebSphere MQ message, and write some text in UTF format..
MQMessage putMessage =
new MQMessage();putMessage.writeUTF("Test");// specify the message options...
MQPutMessageOptions pmo =
new MQPutMessageOptions();// accept the defaults, same as MQPMO_DEFAULT// put the message on the queue
remoteQ.put(putMessage,pmo);System.out.println("Message has been input into the Remote Queue");// Close the queue...
remoteQ.close();// Disconnect from the queue manager
qMgr.disconnect();}catch (MQException ex) {// If an error has occurred in the above, try to identify what went wrong// Was it a WebSphere MQ error?
System.out.println("A WebSphere MQ error occurred : Completion code "
+ ex.completionCode +
" Reason code "
+ ex.reasonCode);}catch (IOException ex) {// Was it a Java buffer space error?
System.out.println("An error occurred whilst writing to the message buffer: "
+ ex);}catch(Exception ex){ex.printStackTrace();}}}
執行程式後,請在B機器的本地佇列LQ_88888888中檢查是否有訊息存在,如果有說明測試成功。讀者可以自行編寫把訊息從對方的本地佇列讀取出來的程式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-478247/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WebSphere MQ測試常用指令WebMQ
- MySQL InnoDB Cluster環境搭建和簡單測試MySql
- 求助大佬,想要往測試環境 mq 或者 Kafka 叢集推送測試資料,能使用哪些工具?MQKafka
- 配置開發環境、生成環境、測試環境開發環境
- Maven環境搭建和介紹Maven
- MQ和WEBSPHERE整合 (轉)MQWeb
- 整合MQ和WEBSPHERE (轉)MQWeb
- mq安裝測試MQ
- Xcode配置測試環境和線上環境XCode
- 新增的WebSphere MQ訊息傳遞提供程式簡介WebMQ
- androidNDK環境的搭建和使用Android
- 操作 WebSphere Process Server 環境概述WebServer
- JSP的環境引擎--websphereJSWeb
- 如何搭建良好的軟體測試環境?測試環境對軟體測試起到什麼作用?
- websphere MQ調優淺談WebMQ
- kaldi環境搭建 | yesno 測試
- android測試環境搭建Android
- 用 Spring 區分開發環境、測試環境、生產環境Spring開發環境
- Flutter開發環境搭建和除錯Flutter開發環境除錯
- Android systrace環境的搭建和使用Android
- 軟體測試培訓:如何搭建測試環境
- 快速搭建WebSphere Process Server 部署環境WebServer
- redis哨兵模式搭建和測試Redis模式
- MHA安裝搭建和測試
- 達夢6.0試用之測試環境搭建
- griffin環境搭建及功能測試
- 搭建自動化測試環境
- 軟體測試--環境講解
- 自己營造ORACLE測試環境Oracle
- RAC環境網路故障測試
- 本地測試環境初始化
- Selenium+Python自動化測試環境搭建和搭建過程遇到的問題解Python
- downstream環境下archive程式停止傳輸日誌Hive
- 從零搭建和配置OSX開發環境開發環境
- Mac下git的環境搭建和基本使用MacGit
- Jbpm4環境搭建和整合SpringSpring
- Oracle可傳輸表空間測試Oracle
- 監視WebSphere Portal 環境中的效能Web