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

lcq1438 2012-03-23 07:50:58
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。
...全文
214 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
JasonYao 2012-04-01
  • 打赏
  • 举报
回复
运行在什么服务器上的?

2,633

社区成员

发帖
与我相关
我的任务
社区描述
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
社区管理员
  • WebSphere社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧