设为首页 收藏本站
查看: 846|回复: 0

[经验分享] IBM MQ 使用出现问题

[复制链接]

尚未签到

发表于 2017-5-25 07:26:49 | 显示全部楼层 |阅读模式
最近的项目中 要用到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;   
}

}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-380634-1-1.html 上篇帖子: IBM实习日记——4.2 下篇帖子: IBM 淘宝电话面试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表