Java连接MQ的实例, 测试类
- package cjf.mq.mqclient;
- 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;
- import com.ibm.mq.MQGetMessageOptions;
- public class MQClient {
- static MQQueueManager qMgr;
- static int CCSID = 1381;//WINGBK,1208:UTF-8
- static String queueString = "MQ_QUEUE";
- public static void connect() throws MQException {
- MQEnvironment.hostname = "";
- MQEnvironment.channel = "java.channel";
- MQEnvironment.port = 1321;
- MQEnvironment.CCSID = CCSID;
- qMgr = new MQQueueManager("MQ_TEST");
- qMgr.disconnect();
- }
- public static void sendMsg(String msgStr) {
- int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT
- | MQC.MQOO_INQUIRE;
- MQQueue queue = null;
- try {
- // 建立Q1通道的连接
- queue = qMgr
- .accessQueue(queueString, openOptions, null, null, null);
- MQMessage msg = new MQMessage();// 要写入队列的消息
- msg.format = MQC.MQFMT_STRING;
- msg.characterSet = CCSID;
- msg.encoding = CCSID;
- // msg.writeObject(msgStr); //将消息写入消息对象中
- msg.writeString(msgStr);
- MQPutMessageOptions pmo = new MQPutMessageOptions();
- msg.expiry = -1; // 设置消息用不过期
- queue.put(msg, pmo);// 将消息放入队列
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally {
- if (queue != null) {
- try {
- queue.close();
- } catch (MQException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- public static void receiveMsg() {
- int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT
- | MQC.MQOO_INQUIRE;
- MQQueue queue = null;
- try {
- queue = qMgr
- .accessQueue(queueString, openOptions, null, null, null);
- System.out.println("该队列当前的深度为:" + queue.getCurrentDepth());
- System.out.println("===========================");
- int depth = queue.getCurrentDepth();
- // 将队列的里的消息读出来
- while (depth-- > 0) {
- MQMessage msg = new MQMessage();// 要读的队列的消息
- MQGetMessageOptions gmo = new MQGetMessageOptions();
- queue.get(msg, gmo);
- System.out.println("消息的大小为:" + msg.getDataLength());
- System.out.println("消息的内容:\n"
- + msg.readLine());
- System.out.println("---------------------------");
- }
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally {
- if (queue != null) {
- try {
- queue.close();
- } catch (MQException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- public static void main(String[] args) throws MQException {
- connect();
- sendMsg("fuck MQ");
- receiveMsg();
- }
- }
Java连接MQ的实例, 测试类的更多相关文章
- 功能完善的Java连接池调用实例
/** * Title: ConnectPool.java * Description: 连接池管理器 * Copyright: Copyright © 2002/12/25 * Company: * ...
- 用Java发送HTML格式邮件测试类(支持中文)
代码由纯Java写成,支持中文,一目了然,只要将Main函数中的相关信息填写正确就直接用了,便于修改,可以在此类基础上任意扩展成自己的类. 注意做HTML形式的邮件,最好把HTML,CSS都写全,只写 ...
- java连接mysql数据库实例
做游戏客户端多一年多了,在大学学的java的SSH,基本上都忘完了,今天看了一下发现基本的连接数据库的都忘了...太可怕了这遗忘的速度. 所以写了个连接的例子吧..安装好mysql数据库之后新建了两张 ...
- java连接sqL2008 数据库实例
package com.lzw; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSe ...
- java连接外部接口获取数据工具类
package com.yqzj.util; import org.apache.log4j.LogManager;import org.apache.log4j.Logger; import jav ...
- Java导包后在测试类中执行正确但在Servlet中执行错误报ClassNotFoundException或者ClassDefNotFoundException解决办法
将原来导的包remove from build path,并复制到Web-root下的lib目录中,再add to build path,
- SpringBoot测试类启动错误 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
报错 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @Cont ...
- 各种数据库连接代码的测试类(java)
测试类: public class Mytest { Connection conn=null; Statement stmt=null; String myDriver="com.mysq ...
- 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类
一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...
随机推荐
- Iterator和ListIterator的区别 ---面试题
Iterator和ListIterator的区别是什么? 下面列出了他们的区别: Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List. Iterator对 ...
- Windows Server 2008 R2系统上安装SQLServer2012集群(简略)
4台服务器(1台AD.2台SQL服务器.1台iSCSI存储服务器) 9个IP(1个AD的IP.2个SQL服务器的IP.2个心跳IP.1个iSCSI存储服务器的IP.1个集群IP.1个DTC的IP.1个 ...
- WPF画箭头
简介 参考Using WPF to Visualize a Graph with Circular Dependencies的基础上写了一个WPF画箭头的库. 效果图如下: 使用的XAML代码如下: ...
- CentOS 启动-运行级别
Linux系统的启动过程:内核的引导 > 运行init > 系统初始化 > 建立终端 > 用户登录系统 运行init init 进程是系统所有进程的起点: 主要功能: 准备软件 ...
- Error:Execution failed for task ':app:processAnzhiDebugAndroidTestResources'. > No slave process to process jobs, aborting
环境 Android Studio 3.0 错误 Error:Execution failed for task ':app:processAnzhiDebugAndroidTestResources ...
- 最新版PMBOK项目管理的五大过程组和十大知识领域
PMBOK五大过程组是:启动过程.规划过程.执行过程.监控过程.收尾过程. 各用一句话概括项目管理知识体系五大过程组: 1.启动过程组:作用是设定项目目标,让项目团队有事可做: 2.规划过程组:作用是 ...
- table中的td自动换行
总有那么几个时候会觉得,table的td不能自适应换行真坑,凭什么只能用tr来换行,经常数据都是连在一起的呀,你叫我怎么把它拆分放到tr里...... 那能不能用ul和li来替换?可以是可以,不过有时 ...
- <Android 基础(十九)> CoordinatorLayout
介绍 CoordinatorLayout,中文翻译,协调布局,顾名思义,此布局中的子View之间,子View与父布局之间应该是可以协调工作的,如何协调,Behavior. 今天看下Android St ...
- Android recyclerview删除item刷新列表
删除item坑 mModels.remove(i); notifyItemRemoved(i); //必须调用这行代码 notifyItemRangeChanged(i, mModels.size() ...
- TextView的跑马灯效果(AS开发实战第二章学习笔记)
TextView的跑马灯效果跑马灯用到的属性与方法说明singleLine 指定文本是否单行显示ellipsize 指定文本超出范围后的省略方式focusable 指定是否获得焦点,跑马灯效果要求设置 ...