2006-09-08
IBM MQ example
package com.bulain.wasmq;
import org.apache.log4j.Logger;
import java.io.InputStream;
import java.util.Properties;
import com.ibm.mq.MQC;
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQException;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
//----------------------------------------------
// ……
public class Main {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(Main.class);
private String strExtraSendXmlFileName = "jndi.properties";
private static Properties props;
static {
props = new Properties();
props.put("mqHostName","10.240.13.81");
props.put("mqPort","1414");
props.put("mqCCSID","932");
props.put("mqUserName","mqadmin");
props.put("mqPassword","Art515940");
props.put("mqQManager","QM_mphch085");
props.put("mqChannel","S_mphch085");
props.put("mqLocalOutQueue","clq_default_mphch085");
props.put("mqLocalInQueue","clq_default_mphch085");
}
public static void main(String[] args) {
Main test = new Main();
test.send();
test.recieve();
}
public void send() {
// MQ?送
try {
// 建立MQ客?端?用上下文?境
MQEnvironment.hostname = props.getProperty("mqHostName"); // 服?器ip地址
MQEnvironment.port = Integer.parseInt(props.getProperty("mqPort")); // 服?器MQ服?端口
MQEnvironment.CCSID = Integer.parseInt(props.getProperty("mqCCSID")); // 服?器MQ服?使用的??
MQEnvironment.channel = props.getProperty("mqChannel"); // 服?器?接通道名
MQEnvironment.userID = props.getProperty("mqUserName"); // MQ服?用?名
MQEnvironment.password = props.getProperty("mqPassword");
// ?接?列管理器
MQQueueManager qMgr = new MQQueueManager(props.getProperty("mqQManager"));
int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;
// 打?MQ?列
MQQueue q = qMgr.accessQueue(props.getProperty("mqLocalOutQueue"), openOptions);
//FileInputStream fins = new FileInputStream(new File(strExtraSendXmlFileName));
InputStream fins = ClassLoader.getSystemResourceAsStream(strExtraSendXmlFileName);
byte[] data = new byte[fins.available()];
fins.read(data);
fins.close();
MQMessage msg = new MQMessage();
msg.write(data);
// 放入消息
q.put(msg);
// ???列
q.close();
// ???列管理器
qMgr.disconnect();
} catch (MQException e) {
logger.error(e);
e.printStackTrace();
} catch (Exception e) {
logger.error(e);
e.printStackTrace();
}
}
public void recieve() {
// MQ接收
try {
// 建立MQ客?端?用上下文?境
MQEnvironment.hostname = props.getProperty("mqHostName"); // 服?器ip地址
MQEnvironment.port = Integer.parseInt(props.getProperty("mqPort")); // 服?器MQ服?端口
MQEnvironment.CCSID = Integer.parseInt(props.getProperty("mqCCSID")); // 服?器MQ服?使用的??
MQEnvironment.channel = props.getProperty("mqChannel"); // 服?器?接通道名
MQEnvironment.userID = props.getProperty("mqUserName"); // MQ服?用?名
MQEnvironment.password = props.getProperty("mqPassword");
// ?接?列管理器
MQQueueManager qMgr = new MQQueueManager(props.getProperty("mqQManager"));
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING;
// 打?MQ?列
MQQueue q = qMgr.accessQueue(props.getProperty("mqLocalInQueue"), openOptions);
MQGetMessageOptions mgo = new MQGetMessageOptions();
mgo.options |= MQC.MQGMO_NO_WAIT;
MQMessage msg = new MQMessage();
if ((msg = fetchOneMsg(q)) != null) {
byte[] xmlData = new byte[msg.getDataLength()];
msg.readFully(xmlData);
logger.info(new String(xmlData));
}
// ???列
q.close();
// ???列管理器
qMgr.disconnect();
} catch (MQException e) {
logger.error(e);
e.printStackTrace();
} catch (Exception e) {
logger.error(e);
e.printStackTrace();
}
}
/**
* 从?列中取出一个消息
*
* @param q
* ?列名称
* @return
* @throws Exception
*/
private static MQMessage fetchOneMsg(MQQueue q) throws Exception {
MQGetMessageOptions mgo = new MQGetMessageOptions();
mgo.options |= MQC.MQGMO_NO_WAIT;
MQMessage msg = new MQMessage();
try {
// ?取消息
q.get(msg, mgo);
} catch (MQException e) {
return null;
}
return msg;
}
}
分享到:
相关推荐
A IBM MQ client is part of the product that can be installed on its own, on a separate machine from the base product and server. You can run an IBM MQ application on an IBM MQ client and it can ...
Java连接IBM WebSphere MQ 7处理队列信息所需jar包,从安装目录直接打的包。主要包括: /com.ibm.mq.commonservices.jar /com.ibm.mq.defaultconfig.jar /com.ibm.mq.fta.jar /com.ibm.mq.headers.jar /...
下载后解压即可使用,专门测试远程和本地IBMMQ数据,可以导入导出数据
JAVA连接IBM MQ,具体的详细说明,请再csdn上面搜索JAVA连接IBM MQ关键词
jmeter插件,用于进行IBM MQ测试。 部署插件之后,可进行简单配置,即可发送消息到mq通道中 使用方法参见 https://testerhome.com/notes/2193
ibmmq所需jar包,用于ibmmq连接建立,消息发送与接收,导入这些jar就能完成ibmmq相关功能。
JAVA IBM MQ 接收消息、发送消息例子
一个简单的IBM MQ操作例子,put方法和get方法
ibm mq开发教程.pdf
IBM MQ将消息发送至远程队列,文档详细,有截图,有命令
Spring 集成 IBM MQ 监听配置,包括用户管理配置和一些基础配置信息
资源名称:IBM MQ7.5安装配置(Win)内容简介: IBM的MQ网上安装部署的资料比较少见,抽空整理了一个,截图,都图形化的操作界面,适用于初学者。熟悉了以后,就不用图形了,直接敲命令行就可以了。资源截图: 资源太...
java IBM MQ 7.5.0 生产者和消费者实例
java开发ibm mq 7.5对接所需要的jar依赖包,由于maven没有授权,所以必须手动下载
IBM MQ 7.5.0 windows版本全部仅需要一次下载即可使用
IBM MQ 7.5.0 windows版本压缩包第一部分,共4部分(分割是为了满足平台只能上传110MB文件的要求)。IBM MQ是JMS协议的一个实现,广泛用在系统集成中。
IBM MQ经常被一些政府公共部门,银行等企业用来做数据传输和报文收发,在互联网应用的开发中较少见到,资源为MQjava 代码
MQ频繁出现的错误代码请查看excel文档,如果没有请查看另外一份文档, 有英文和中文。基本上覆盖了MQ所有的问题码。MQ错误码大全,希望对您有所帮助(错误码已排序,方便大家查找,使用)。
MQ所需要的九个包下载大全 aspectjrt-1.5.2 com.ibm.mq.fta com.ibm.mq com.ibm.mq.jmqi com.ibm.mq.jms.Nojndi com.ibm.mq.soap com.ibm.mqetclient com.ibm.mqjms connector-1.0
初学 IBM MQ,找遍了资料,都是5.x的,经过一个星期的奋斗,终于搞通了.