MQ队列长度

标签:
杂谈 |
分类: 数据库 |
原创作者ID:bicashy
MQ应用程序的开发,简单的实现一下关键的发送消息和接收消息的操作.首先做简单的准备工作,建队列管理器QM1,在QM1中建队列Q1,然后在高级中建立通道BICASHY,类型为服务器连接通道,端口号1414,这里做最简单的配置,死信、传输队列及远程队列都暂时不建。。。
注:如果建另一个队列管理器QM2,其侦听端口一定不能和1414重复。
MQ应用程序的开发,简单的实现一下关键的发送消息和接收消息的操作.首先做简单的准备工作,建队列管理器QM1,在QM1中建队列Q1,然后在高级中建立通道BICASHY,类型为服务器连接通道,端口号1414,这里做最简单的配置,死信、传输队列及远程队列都暂时不建。。。
注:如果建另一个队列管理器QM2,其侦听端口一定不能和1414重复。
- package
com.wondertek.flow.test; -
- import
java.io.IOException; -
- 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.MQPutMessageOptions; - import
com.ibm.mq.MQQueue; - import
com.ibm.mq.MQQueueManager; -
- public
class MQManager { -
-
MQQueueManager qMgr; -
-
void getConnMQmanager() { -
MQEnvironment.hostname = MQ服务器IP -
MQEnvironment.channel = 队列管理器对应的服务器连接通道 -
MQEnvironment.CCSID = 字符编码 -
MQEnvironment.port = 队列管理器的端口号 -
{ -
qMgr = MQQueueManager( "QM1");//队列管理器名称 -
} (MQException e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} -
} -
-
void closeConnMQmanager() { -
(qMgr null)!= { -
{ -
qMgr.close(); -
} (MQException e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} -
} -
} -
-
void sendMsg(String msgStr){ -
openOptions = MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE; -
MQQueue queue = -
{ -
-
queue = qMgr.accessQueue( openOptions, null,null,null); -
MQMessage msg = MQMessage(); //要写入队列的消息 -
msg.format = MQC.MQFMT_STRING; -
msg.characterSet = -
msg.writeObject(msgStr); -
MQPutMessageOptions pmo = MQPutMessageOptions(); -
msg.expiry = - 设置消息用不过期 -
queue.put(msg, pmo); 将消息放入队列 -
} (MQException e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} (IOException e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} -
-
{ -
queue.close(); -
} (MQException e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} -
} -
} -
} -
-
void receiveMsg() -
{ -
openOptions = MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE; -
MQQueue queue = -
{ -
queue = qMgr.accessQueue( openOptions, null,null,null); -
-
System.out.println( -
System.out.println( -
depth = queue.getCurrentDepth(); -
-
-
{ -
MQMessage msg = MQMessage(); //要读的队列的消息 -
MQGetMessageOptions gmo = MQGetMessageOptions(); -
queue.get(msg, gmo); -
System.out.println( -
System.out.println( -
System.out.println( -
} -
} (MQException e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} (Exception e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} -
-
{ -
queue.close(); -
} (MQException e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} -
} -
} -
} -
-
static void main(String[] args) { -
MQManager mm = MQManager(); -
mm.getConnMQmanager(); -
{ -
mm.sendMsg( -
mm.sendMsg( -
mm.receiveMsg(); -
} (Exception e) { -
TODO Auto-generated catch block -
e.printStackTrace(); -
} -
mm.closeConnMQmanager(); -
} -
}