最近的项目中 要用到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;
}
}
分享到:
相关推荐
另一个文件`www.pudn.com.txt`可能包含的是更详细的代码示例或者对IBM MQ使用的进一步说明。通常,这样的文本文件可能会提供额外的配置信息、环境变量设置或其他操作指南。 在实际应用中,IBM MQ文件传输是指通过...
除了基本的使用,IBM MQ Explorer还支持以下高级功能: - 图形化配置:通过直观的图形界面,可以方便地配置MQ服务器的复杂设置。 - 监控与报警:可以设置阈值和规则,当达到特定条件时,MQ Explorer将发出警告或...
这份“IBM MQ错误代码大全中英文对照覆盖所有MQ出现的错误”文档集合了MQ可能遇到的各种错误代码,对于理解和解决MQ相关问题非常关键。 错误代码通常由三位数字组成,如2035、MQRC_NOT_AUTHORIZED等。每个错误代码...
在这个场景中,我们关注的是“IBMMQ测试工具”,尤其是名为`rfhutil`的工具。 **rfhutil工具介绍** `rfhutil`是IBM MQ工具集的一部分,主要用于测试和调试IBM MQ消息队列。这个命令行工具可以帮助用户创建、查看、...
本文将深入探讨如何使用JMeter插件进行IBM MQ(Message Queuing)的测试。 IBM MQ,原名WebSphere MQ,是IBM提供的一种消息中间件,它允许应用程序在不同的网络、操作系统和应用程序之间可靠地传输数据。通过IBM MQ...
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可能与不同版本的MQ服务器有兼容性问题,确保使用的JAR与MQ服务器版本匹配。 以上就是关于"ibm mq jar下载"和Java整合IBM MQ所需的关键知识点。在实际开发中,理解并熟练运用这些知识点,能...
IBM MQ的使用方法涵盖多个方面,包括系统安装与配置、消息的发送与接收、API的使用以及通过Java和JMS进行开发等。以下是对这些知识点的详细解释: 1. **IBM MQ的安装与配置**:首先,你需要下载适合你的操作系统的...
本文将深入探讨如何使用Java来连接IBM MQ,以实现跨平台的信息交换。 首先,我们需要了解IBM MQ的基本概念。它是一个异步通信系统,允许应用程序通过消息队列发送和接收数据,而无需两者同时在线。这样,即使发送方...
在IT行业中,IBM MQ(原名WebSphere MQ)是一种广泛使用的中间件,它提供了一种可靠的消息传递服务,使得应用程序可以相互通信,即使在不同的网络环境或操作系统之间也是如此。本篇文章将深入探讨如何使用Java API与...
在Java开发中,使用这些JAR文件时,你需要将它们添加到项目的类路径中,以便能够编译和运行与IBM MQ 7.5相关的代码。同时,还需要了解IBM MQ的基本概念,例如队列、队列管理器、通道、消息格式等,以及如何通过JMS或...
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,全称为IBM WebSphere MQ,是一款由IBM公司开发的消息中间件产品,它在企业级应用集成中扮演着至关重要的角色。IBM MQ 7.5.0是该产品的特定版本,专为Windows操作系统设计。这个版本包含了所有必要的组件和...
IBM MQ,原名为WebSphere MQ,是IBM提供的一款企业级的消息中间件产品,它允许不同应用程序、系统和网络之间的安全、可靠、高效的数据交换。在IBM MQ 7.0版本中,这一技术得到了进一步的强化和完善,为开发者提供了...
在Java环境中使用IBM MQ时,需要导入特定的JAR包来支持MQ相关的功能。在这个“IBM MQ全部JAR包”的压缩文件中,包含了进行JAVA开发时与MQ交互所需的关键库。 首先,我们来看一下描述中提到的“JAVA发送文本内容至MQ...
4. **高可用性和可扩展性**:通过集群和镜像队列技术,IBM MQ能实现高可用性,当主服务器出现故障时,可以无缝切换到备份服务器。同时,通过增加队列管理器和队列,系统可轻松扩展以应对业务增长。 5. **云集成**:...
IBM WebSphere MQ,通常简称为IBM MQ,是IBM公司提供的一款高效、可靠的企业级消息中间件产品。它在企业系统间传输数据,确保了数据的可靠传输和事务处理,是构建分布式系统和实现异构环境间通信的重要工具。在本...
3. 依赖项管理:在开发环境中,需要在项目的构建文件中配置对IBM MQ客户端库以及其他相关依赖的依赖项,例如使用Maven作为构建工具时,会在pom.xml文件中添加依赖项声明。 4. 配置文件:配置文件中需要指定连接到...
### 使用C#连接IBM MQ详解 IBM MQ 是一种先进的消息中间件,被广泛应用于企业级应用集成场景中。本文将详细介绍如何使用C#语言来连接并操作IBM MQ,特别是实现消息的发送与接收功能。 #### IBM MQ基础知识简介 在...
### IBM MQ客户端与服务端互连 #### 一、IBM MQ简介 IBM MQ(以前称为WebSphere MQ)是一种消息中间件,它允许应用程序在分布式环境中发送消息。...此外,通过细致的日志分析,可以在出现问题时迅速定位并解决问题。