往Websphere MQ 本地队列中 放入消息和获取消息

在访问一个队列首先需要获取队列管理器对象,

 

需要提供如下属性信息, 如: 队列管理器名称,端口号,服务通道,主机名称,通过这些属性就能获取队列管理器,

然后通过队列管理器 访问队列,

放入消息 即可。 最后,关闭队列。

 

下面是一个把消息 放入 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;
	}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值