MQ初体験
MQは以前は触れたことがありませんでしたが、面接の項目は必要です.ネット上に既存のコードがありますので、試してみました.過程は以下の通りです.
PS:よろしくお願いします
まずインターネットからIBM Websphere MQのインストールファイルをダウンロードしました.アドレス:http://www.verycd.com/topics/127911/#theCon
Websphere MQリソースマネージャを開けて、キューマネージャを作成します.MQSI_SAMPLE_QM;
列:q 1
チャンネル:BridgeChanel
JAVAクラスを作成します.キーコードは以下の通りです.
実行結果は以下の通りです.
create a MQ manager:[MQSI SAMPLE QM]Access queue:q 1 sending a message!!9…gettingThe Message Is:dove$0&&^9...getting!The Message Is:dove$1&&&^9…getting!The Message Is:dove$*2&&^9…getting!The Message Is:dove$3&&^9...getting!The Message Is:dove、*4 close the queuedisconnecting the queue mangerover
PS:よろしくお願いします
まずインターネットからIBM Websphere MQのインストールファイルをダウンロードしました.アドレス:http://www.verycd.com/topics/127911/#theCon
Websphere MQリソースマネージャを開けて、キューマネージャを作成します.MQSI_SAMPLE_QM;
列:q 1
チャンネル:BridgeChanel
JAVAクラスを作成します.キーコードは以下の通りです.
public void mqTest() {
String mqManage = "MQSI_SAMPLE_QM";
String qName = "q1";
try{
//************************************************************************************
// , (IP )
MQEnvironment.hostname="172.19.0.28";
// 。 , MQI
MQEnvironment.channel="BridgeChannel";
// (1381:GBK 1208:UTF)
MQEnvironment.CCSID=1381;
System.out.println("create a MQ manager:["+mqManage+"]");
// MQQueueManager ( )
MQQueueManager qMgr = new MQQueueManager(mqManage);
//************************************************************************************
//propertiesHashTable:
//MQQueueManager qMgr = new MQQueueManager(mqManage,propertiesHashTable);
//************************************************************************************
System.out.println("Accessing queue:"+qName);
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;
MQQueue queue = qMgr.accessQueue(qName, openOptions);
//System.out.println("++++"+queue.getCurrentDepth());
//
MQMessage msg = new MQMessage();
MQPutMessageOptions pmo = new MQPutMessageOptions();
System.out.println("sending a message!!!");
MQMessage rcvMessage = new MQMessage();
for(int j=0;j<5;j++) {
String str = "dove$";
str = str + "*" + j;
// , ,
msg.clearMessage();
msg.writeUTF(str);
System.out.println("&&^"+msg.getMessageLength());
queue.put(msg,pmo);
MQGetMessageOptions gmo = new MQGetMessageOptions();
System.out.println("...getting!");
queue.get(rcvMessage,gmo);
String msgText = rcvMessage.readUTF();
System.out.println("The Message Is:"+msgText);
}
System.out.println("close the queue");
queue.close();
System.out.println("disconnecting the queue manager");
qMgr.disconnect();
System.out.println("over");
}catch (MQException e){
System.out.println("MQException");
}catch(java.io.IOException ex){
System.out.println("IOException");
}
}
実行結果は以下の通りです.
create a MQ manager:[MQSI SAMPLE QM]Access queue:q 1 sending a message!!9…gettingThe Message Is:dove$0&&^9...getting!The Message Is:dove$1&&&^9…getting!The Message Is:dove$*2&&^9…getting!The Message Is:dove$3&&^9...getting!The Message Is:dove、*4 close the queuedisconnecting the queue mangerover