在訪問一個隊列首先需要獲取隊列管理器對象,
需要提供如下屬性信息,
如: 隊列管理器名稱,端口號,服務通道,主機名稱,通過這些屬性就能獲取隊列管理器,
然後通過隊列管理器
訪問隊列,
放入消息
即可。
最後,關閉隊列。
下面是一個把消息
放入 WebSphere MQ 本地隊列中
程序代碼:
建立一個QueueManagerEntity實體:
如下:
-
private String queueManagerName;
-
private int port;
-
private String svrconn;
-
private String hostName;
-
private String queueName;
-
-
/ getter和setter方法省略…
然後創建一個QueueManager Class,定義一個獲取MQQueueManager的方法,該方法主要是設置初始化環境信息。
-
public MQQueueManager getMQueueManager(QueueManagerEntity queueManagerEntity){
-
MQEnvironment.channel = queueManagerEntity.getSvrconn();
-
MQEnvironment.CCSID = 1383;
-
MQEnvironment.hostname = queueManagerEntity.getHostName();
-
MQEnvironment.port = queueManagerEntity.getPort();
-
MQQueueManager queueManager = null;
-
try {
-
queueManager = new MQQueueManager(queueManagerEntity.getQueueManagerName());
-
} catch (MQException e) {
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
}
-
return queueManager;
-
}
//往本地隊列中放入測試消息。
-
public boolean sendMessage(MQQueueManager queueManager,QueueManagerEntity queueManagerEntity) throws IOException{
-
boolean bol = false;
-
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT | MQC.MQOO_INQUIRE;
-
if(queueManager==null || !queueManager.isConnected()){
-
queueManager = getMQueueManager(queueManagerEntity);
-
}
-
MQQueue mqQueue = null;
-
try {
-
mqQueue = queueManager.accessQueue(queueManagerEntity.getQueueName(), openOptions,null,null,null);
-
MQMessage mqMessage = new MQMessage();
-
mqMessage.writeUTF(“Hello World!!!”);
-
-
MQPutMessageOptions mqPutMessageOptions = new MQPutMessageOptions();
-
//往隊列中放入消息;
-
mqQueue.put(mqMessage, mqPutMessageOptions);
-
mqQueue.close();
-
bol = true;
-
} catch (MQException e) {
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
bol = false;
-
}
-
return bol;
-
}
以下文章點擊率最高
Loading…


