Java鏈接IBM MQ

package com.hometest.IBMMqTest;java

import java.io.IOException;
import java.io.UnsupportedEncodingException;utf-8

import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQException;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import com.ibm.mq.constants.MQConstants;get

public class TestMQ {it

private MQQueueManager qmanager = null;
private MQQueue queue = null;
private static final String MQ_HOST ="";
private static final Integer MQ_PORT =1414;
private static final String MQ_CHANNEL ="";
private static final String MQ_QUEUEMANAGER_NAME = "MQ_APP";
private static final String MQ_QUEUE_NAME = "Queue1";io

public static void main(String[] args) {
// TODO Auto-generated method stub
TestMQ mq = new TestMQ();

try {
mq.send("hello everyone");
// mq.send("WHAT");
System.out.println(mq.receive());
} catch (MQException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// mq.receiveAll();
// Integer depth = mq.getQueueDepth();
// System.out.println("The current depth of queue is " + depth);
mq.close();
}class


public TestMQ() {
try {
MQEnvironment.hostname = MQ_HOST;
MQEnvironment.port = MQ_PORT;
MQEnvironment.channel = MQ_CHANNEL;
qmanager = new MQQueueManager(MQ_QUEUEMANAGER_NAME);
int openOptions = MQConstants.MQOO_INPUT_AS_Q_DEF | MQConstants.MQOO_INQUIRE | MQConstants.MQOO_OUTPUT;
queue = qmanager.accessQueue(MQ_QUEUE_NAME, openOptions);
} catch (MQException e) {
e.printStackTrace();
}
}test

public Integer getQueueDepth() {
Integer depth = 0;
try {
if (queue != null && queue.isOpen()) {
depth = queue.getCurrentDepth();
}
} catch (MQException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}import

return depth;
}coding

public void close() {
if (queue != null && queue.isOpen()) {
try {
queue.close();
} catch (MQException e) {
e.printStackTrace();
}
}
if (qmanager != null && qmanager.isConnected()) {
try {
qmanager.disconnect();
} catch (MQException e) {
e.printStackTrace();
}
}
}channel

public void send(String msg) throws MQException { try { MQPutMessageOptions mqPutMessageOptions = new MQPutMessageOptions(); MQMessage mqMessage = new MQMessage(); mqMessage.write(msg.getBytes("utf-8")); queue.put(mqMessage, mqPutMessageOptions); System.out.println("Sent a message:" + msg); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public String receive() throws MQException{ MQMessage mqMsg = new MQMessage(); MQGetMessageOptions mqGetMessageOptions = new MQGetMessageOptions(); try { queue.get(mqMsg, mqGetMessageOptions); int len = mqMsg.getDataLength(); byte[] message = new byte[len]; mqMsg.readFully(message, 0, len); String str = new String(message); System.out.println("Received a message:" + str); return str; } catch (MQException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public void receiveAll() { try { int depth = queue.getCurrentDepth(); System.out.println("The current depth of queue is " + depth); System.out.println("Now receive all messages...."); while(depth-- > 0){ MQMessage mqMsg = new MQMessage(); MQGetMessageOptions mqGetMessageOptions = new MQGetMessageOptions(); queue.get(mqMsg, mqGetMessageOptions); int len = mqMsg.getDataLength(); byte[] message = new byte[len]; mqMsg.readFully(message, 0, len); System.out.println(new String(message)); } } catch (MQException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

相關文章
相關標籤/搜索