在访问一个队列首先需要获取队列管理器对象,
需要提供如下属性信息,
如: 队列管理器名称,端口号,服务通道,主机名称,通过这些属性就能获取队列管理器,
然后通过队列管理器
访问队列,
放入消息
即可。
最后,关闭队列。
下面是一个把消息
放入 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…