`
blaiu
  • 浏览: 130875 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IBM MQ 使用出现问题

    博客分类:
  • MQ
阅读更多
最近的项目中 要用到IBM MQ 。
写了四个接受类并实现了MessageListener监听,在servlet里面分别new 了四个类
在web 容器启动后 开始监听,但是出现的问题是 监听不到。
package com.founder.gome.bg.service.mq;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

public class MQServerlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	

	TntListener jt3 = null;
	SnListener jt4 = null;


	@Override
	public void init() throws ServletException {
		jt3 = new TntListener();
		jt4 = new SnListener();
	    jt3.init();
	    jt4.init();

	@Override
	public void destroy() {
		if(jt3!=null) {
			jt3.distory();
		}
		if(jt4!=null) {
			jt4.distory();
		}
		super.destroy();
	}
	
	
	
}

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;

import com.ibm.mq.jms.MQQueueConnectionFactory;
import com.ibm.msg.client.wmq.v6.jms.internal.JMSC;

public class SnListener {
	SOService soService  = (SOService) MQListener.wac.getBean("soService");
	private static QueueConnection connection = null;
	private static QueueSession session = null;
	Queue ioQueue;
	
	public void init(){
		try {
			MQQueueConnectionFactory factory = new MQQueueConnectionFactory();
			factory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
			factory.setQueueManager(MQCommon.getProperties().getProperty("MQ_MANAGER"));
			factory.setHostName(MQCommon.getProperties().getProperty("MQ_HOST_NAME"));
			factory.setChannel(MQCommon.getProperties().getProperty("MQ_CHANNEL"));
			factory.setPort(Integer.valueOf(MQCommon.getProperties().getProperty("MQ_PROT")));
			factory.setCCSID(Integer.valueOf(MQCommon.getProperties().getProperty("MQ_CCSID")));
			if(connection==null) {
				connection = factory.createQueueConnection(MQCommon.getProperties().getProperty("MQ_USER"), MQCommon.getProperties().getProperty("MQ_PWD"));
				connection.start();
			}
			if(session==null) {
				session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);;
			}
			ioQueue = session.createQueue("QL_GOME01_DRAGON_SN_TO_EC_SN");
			QueueReceiver queueReceiver = session.createReceiver(ioQueue);
			queueReceiver.setMessageListener(new MessageListener(){
				public void onMessage(Message message) {
					try {
						String messageTxt = ((TextMessage) message).getText();
						System.out.println("messageTxt is " + messageTxt);
						soService.getXML(messageTxt, "QL_GOME01_DRAGON_SN_TO_EC_SN");
					} catch (JMSException e) {
						e.printStackTrace();
					}
				}
			}	);
		} catch (JMSException e) {
			try {
				if(session !=null) {
					session.close();
				}
				if(connection!=null) {
					connection.close();
				}
			} catch (JMSException e1) {
				e1.printStackTrace();
			}
			e.printStackTrace();
		}
	}
	
	 public void distory() {
	    	try {
				if(session != null) {
					session.close();
					session = null;
				}
				if(connection != null) {
					connection.close();
					connection = null;
				}
			} catch (JMSException e) {
				e.printStackTrace();
			}
	    }

}


package com.founder.gome.bg.service.mq;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;

import com.ibm.mq.jms.MQQueueConnectionFactory;
import com.ibm.msg.client.wmq.v6.jms.internal.JMSC;

public class TntListener {
	SOService soService  = (SOService) MQListener.wac.getBean("soService");
	private static QueueConnection connection = null;
	private static QueueSession session = null;
	Queue ioQueue;
	
	public void init(){
		try {
			MQQueueConnectionFactory factory = new MQQueueConnectionFactory();
			factory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
			factory.setQueueManager(MQCommon.getProperties().getProperty("MQ_MANAGER"));
			factory.setHostName(MQCommon.getProperties().getProperty("MQ_HOST_NAME"));
			factory.setChannel(MQCommon.getProperties().getProperty("MQ_CHANNEL"));
			factory.setPort(Integer.valueOf(MQCommon.getProperties().getProperty("MQ_PROT")));
			factory.setCCSID(Integer.valueOf(MQCommon.getProperties().getProperty("MQ_CCSID")));
			if(connection==null) {
				connection = factory.createQueueConnection(MQCommon.getProperties().getProperty("MQ_USER"), MQCommon.getProperties().getProperty("MQ_PWD"));
				connection.start();
			}
			if(session==null) {
				session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);;
			}
			ioQueue = session.createQueue("QL_GOME01_DRAGON_TNT_TO_EC_TNT");
			QueueReceiver queueReceiver = session.createReceiver(ioQueue);
			queueReceiver.setMessageListener(new MessageListener(){
				public void onMessage(Message message) {
					try {
						String messageTxt = ((TextMessage) message).getText();
						System.out.println("messageTxt is " + messageTxt);
						soService.getXML(messageTxt, "QL_GOME01_DRAGON_TNT_TO_EC_TNT");
					} catch (JMSException e) {
						e.printStackTrace();
					}
				}
			}	);
		} catch (JMSException e) {
			try {
				if(session !=null) {
					session.close();
				}
				if(connection!=null) {
					connection.close();
				}
			} catch (JMSException e1) {
				e1.printStackTrace();
			}
			e.printStackTrace();
		}
	}
	
	 public void distory() {
	    	try {
				if(session != null) {
					session.close();
					session = null;
				}
				if(connection != null) {
					connection.close();
					connection = null;
				}
			} catch (JMSException e) {
				e.printStackTrace();
			}
	    }

}


package com.founder.gome.bg.service.mq;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
  

public class MQCommon {   
 
    public static Properties props = null;  
  
       
    public static Properties getProperties() {   
    	try {   
            props = new Properties();   
            InputStream in = new BufferedInputStream(new FileInputStream(MQListener.rootDir+File.separator+"WEB-INF"+File.separator+"classes"+File.separator+"MQ.properties"));   
            props.load(in); 
            in.close();
        } catch (FileNotFoundException e) { 
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        }   
        return props;   
    }

       
       
}  
分享到:
评论

相关推荐

    mq.rar_MQ_ibm mq 实例代码_ibm mq 文件传输_ibm mqput怎么用_put

    另一个文件`www.pudn.com.txt`可能包含的是更详细的代码示例或者对IBM MQ使用的进一步说明。通常,这样的文本文件可能会提供额外的配置信息、环境变量设置或其他操作指南。 在实际应用中,IBM MQ文件传输是指通过...

    IBM MQ Explore windows下安装包

    除了基本的使用,IBM MQ Explorer还支持以下高级功能: - 图形化配置:通过直观的图形界面,可以方便地配置MQ服务器的复杂设置。 - 监控与报警:可以设置阈值和规则,当达到特定条件时,MQ Explorer将发出警告或...

    IBM MQ错误代码大全中英文对照覆盖所有MQ出现的错误

    这份“IBM MQ错误代码大全中英文对照覆盖所有MQ出现的错误”文档集合了MQ可能遇到的各种错误代码,对于理解和解决MQ相关问题非常关键。 错误代码通常由三位数字组成,如2035、MQRC_NOT_AUTHORIZED等。每个错误代码...

    IBMMQ测试工具

    在这个场景中,我们关注的是“IBMMQ测试工具”,尤其是名为`rfhutil`的工具。 **rfhutil工具介绍** `rfhutil`是IBM MQ工具集的一部分,主要用于测试和调试IBM MQ消息队列。这个命令行工具可以帮助用户创建、查看、...

    JMETER插件,进行IBM MQ测试

    本文将深入探讨如何使用JMeter插件进行IBM MQ(Message Queuing)的测试。 IBM MQ,原名WebSphere MQ,是IBM提供的一种消息中间件,它允许应用程序在不同的网络、操作系统和应用程序之间可靠地传输数据。通过IBM MQ...

    IBM MQ V8 Clients 8.0.0.8

    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 ...

    ibm mq jar下载

    - 不同版本的IBM MQ JAR可能与不同版本的MQ服务器有兼容性问题,确保使用的JAR与MQ服务器版本匹配。 以上就是关于"ibm mq jar下载"和Java整合IBM MQ所需的关键知识点。在实际开发中,理解并熟练运用这些知识点,能...

    IBM MQ使用方法

    IBM MQ的使用方法涵盖多个方面,包括系统安装与配置、消息的发送与接收、API的使用以及通过Java和JMS进行开发等。以下是对这些知识点的详细解释: 1. **IBM MQ的安装与配置**:首先,你需要下载适合你的操作系统的...

    JAVA连接IBM MQ代码

    本文将深入探讨如何使用Java来连接IBM MQ,以实现跨平台的信息交换。 首先,我们需要了解IBM MQ的基本概念。它是一个异步通信系统,允许应用程序通过消息队列发送和接收数据,而无需两者同时在线。这样,即使发送方...

    JAVA IBM MQ 接收、发送

    在IT行业中,IBM MQ(原名WebSphere MQ)是一种广泛使用的中间件,它提供了一种可靠的消息传递服务,使得应用程序可以相互通信,即使在不同的网络环境或操作系统之间也是如此。本篇文章将深入探讨如何使用Java API与...

    ibm mq 7.5开发依赖jar包

    在Java开发中,使用这些JAR文件时,你需要将它们添加到项目的类路径中,以便能够编译和运行与IBM MQ 7.5相关的代码。同时,还需要了解IBM MQ的基本概念,例如队列、队列管理器、通道、消息格式等,以及如何通过JMS或...

    IBM MQ7.5_jar包

    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 /...

    IBM MQ 7.5.0 windows版本-全部

    IBM MQ,全称为IBM WebSphere MQ,是一款由IBM公司开发的消息中间件产品,它在企业级应用集成中扮演着至关重要的角色。IBM MQ 7.5.0是该产品的特定版本,专为Windows操作系统设计。这个版本包含了所有必要的组件和...

    IBM MQ 7.0全部帮助文档

    IBM MQ,原名为WebSphere MQ,是IBM提供的一款企业级的消息中间件产品,它允许不同应用程序、系统和网络之间的安全、可靠、高效的数据交换。在IBM MQ 7.0版本中,这一技术得到了进一步的强化和完善,为开发者提供了...

    IBM MQ 全部JAR包

    在Java环境中使用IBM MQ时,需要导入特定的JAR包来支持MQ相关的功能。在这个“IBM MQ全部JAR包”的压缩文件中,包含了进行JAVA开发时与MQ交互所需的关键库。 首先,我们来看一下描述中提到的“JAVA发送文本内容至MQ...

    IBM MQ jdk1.7以上

    4. **高可用性和可扩展性**:通过集群和镜像队列技术,IBM MQ能实现高可用性,当主服务器出现故障时,可以无缝切换到备份服务器。同时,通过增加队列管理器和队列,系统可轻松扩展以应对业务增长。 5. **云集成**:...

    IBM_MQ下载

    IBM WebSphere MQ,通常简称为IBM MQ,是IBM公司提供的一款高效、可靠的企业级消息中间件产品。它在企业系统间传输数据,确保了数据的可靠传输和事务处理,是构建分布式系统和实现异构环境间通信的重要工具。在本...

    ibm mq开发教程.pdf

    3. 依赖项管理:在开发环境中,需要在项目的构建文件中配置对IBM MQ客户端库以及其他相关依赖的依赖项,例如使用Maven作为构建工具时,会在pom.xml文件中添加依赖项声明。 4. 配置文件:配置文件中需要指定连接到...

    用C#连接IBM MQ

    ### 使用C#连接IBM MQ详解 IBM MQ 是一种先进的消息中间件,被广泛应用于企业级应用集成场景中。本文将详细介绍如何使用C#语言来连接并操作IBM MQ,特别是实现消息的发送与接收功能。 #### IBM MQ基础知识简介 在...

    ibm mq客户端与服务端互连

    ### IBM MQ客户端与服务端互连 #### 一、IBM MQ简介 IBM MQ(以前称为WebSphere MQ)是一种消息中间件,它允许应用程序在分布式环境中发送消息。...此外,通过细致的日志分析,可以在出现问题时迅速定位并解决问题。

Global site tag (gtag.js) - Google Analytics