双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

客户端调用服务器上的JMS报错

lcq1438 lcq1438 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1、com.ibm.ws.naming.util.Helpers
WARNING: jndiGetObjInstNoop
Exception in thread "P=451515:O=0:CT" java.lang.ClassCastException: javax.naming.Reference incompatible with javax.jms.QueueConnectionFactory
at com.ztesoft.oss.js.flowbus.client.Test.sendJms(Test.java:146)
at com.ztesoft.oss.js.flowbus.client.Test.main(Test.java:93)
代码如下:
private void sendJms(String xml) throws Exception {
QueueConnection queueConnection = null;
//Connection queueConnection = null;
QueueBrowser queueSender = null;
QueueSession queueSession = null;
try {
logger.info("FACTORY_INITIAL: "+FACTORY_INITIAL);
Context context = NamingHelper.singleton().getInitialContext(FACTORY_INITIAL, PROVIDER_URL, null, null, null);
QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) context.lookup(FACTORY_NAME); //ConnectionFactory queueConnectionFactory = (javax.jms.ConnectionFactory ) context.lookup(FACTORY_NAME);
//javax.jms.ConnectionFactory
logger.info("队列的地址:" + PROVIDER_URL);
logger.debug("获取队列连接工厂成功");
logger.info("queueConnectionFactory OK FACTORY_NAME="+ FACTORY_NAME);
queueConnection = queueConnectionFactory.createQueueConnection();
//queueConnection = queueConnectionFactory.createConnection();
logger.debug("连接队列工厂成功");
queueConnection.start();
queueSession = queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
//queueSession = (QueueSession) queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Message message = queueSession.createTextMessage(xml);
// 发送消息到mdb
javax.jms.Queue queue = (javax.jms.Queue) context.lookup(QUEUE_NAME);
logger.debug("获取队列成功");
logger.info("context.lookup(QUEUE_NAME) OK QUEUE_NAME="+ QUEUE_NAME);
queueSender = (QueueBrowser) queueSession.createSender(queue);
logger.debug("发送的消息为:" + xml);
((QueueSender) queueSender).send(message);
logger.debug("发送消息成功");
} finally {
if (queueSender != null) {
try {
queueSender.close();
} catch (JMSException ex1) {
}
}
if (queueSession != null) {
try {
queueSession.close();
} catch (JMSException ex2) {
}
}
if (queueConnection != null) {
try {
queueConnection.close();
} catch (JMSException ex3) {
}
}
}
}

在本地直接调用,使用的是IBM的JDK。
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
lcq1438
WebSphere 2,632 成员 9,557 内容