jms 的简单应用中遇到的问题,困扰我很久了

feptest 2009-02-23 07:58:13
代码如下:

package myjms;

import java.util.Properties;

import javax.naming.*;
import javax.jms.*;


public class MessageProducter {
private final static String JMSCF_JNDI_NAME = "jms/tcf";
private final static String JMSQ_JNDI_NAME = "jms/tq";
private final static String messageText = "Package Received - 24595023";

public static void main(String[] args) throws Exception {
Properties props=new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
props.put(Context.PROVIDER_URL,"iiop://localhost:900");

InitialContext initCtx = new InitialContext(props);

// Finding the WAS QueueConnectionFactory
javax.jms.ConnectionFactory qcf = (javax.jms.ConnectionFactory) initCtx.lookup(JMSCF_JNDI_NAME);
// Finding the Queue Destination
Destination q = (Destination) initCtx.lookup(JMSQ_JNDI_NAME);
// Create JMS Connection
Connection connection = qcf.createConnection();
// Create JMS Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create MessageProducer and TextMessage
MessageProducer queueSender = session.createProducer(q);
TextMessage outMessage = session.createTextMessage();
outMessage.setText(messageText);
// Set type and destination and send
outMessage.setJMSType("package_received");
outMessage.setJMSDestination(q);
queueSender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
queueSender.send(outMessage);

connection.close();
System.out.println("Send completed");
}

}


使用的是websphere6.1 JMS 默认的提供程序..
connectionFactory jndi name: "jms/tcf"
queue jndi name :"jms/tq"
执行以上程序出现以下错误:


Exception in thread "P=193921:O=0:CT" java.lang.NoClassDefFoundError: org.jboss.mx.util.Serialization
at javax.management.ObjectName.<clinit>(ObjectName.java:86)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:131)
at javax.management.remote.rmi.RMIConnectionImpl_Stub.class$(RMIConnectionImpl_Stub.java:6)
at javax.management.remote.rmi.RMIConnectionImpl_Stub.<clinit>(RMIConnectionImpl_Stub.java:41)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:131)
at javax.management.remote.rmi.RMIConnector.<clinit>(RMIConnector.java:2006)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:150)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:945)
at java.lang.reflect.Field.getFieldAccessor(Field.java:926)
at java.lang.reflect.Field.get(Field.java:385)
at com.ibm.CORBA.iiop.UtilDelegateImpl$2.run(UtilDelegateImpl.java:178)
at java.security.AccessController.doPrivileged(AccessController.java:192)
at com.ibm.CORBA.iiop.UtilDelegateImpl.<clinit>(UtilDelegateImpl.java:170)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:144)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1263)
at javax.rmi.CORBA.Util.createDelegateIfSpecified(Util.java:359)
at javax.rmi.CORBA.Util.<clinit>(Util.java:70)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
at com.ibm.rmi.corba.PluginRegistry.instantiatePlugins(PluginRegistry.java:116)
at com.ibm.rmi.corba.ORB.instantiatePlugins(ORB.java:1386)
at com.ibm.rmi.corba.ORB.orbParameters(ORB.java:1298)
at com.ibm.rmi.corba.ORB.set_parameters(ORB.java:1206)
at com.ibm.CORBA.iiop.ORB.set_parameters(ORB.java:1662)
at org.omg.CORBA.ORB.init(ORB.java:364)
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:86)
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59)
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102)
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:309)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:392)
at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:117)
at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:712)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:171)
at javax.naming.InitialContext.lookup(InitialContext.java:363)
at myjms.MessageProducter.main(MessageProducter.java:22)

这个困扰我很久了,望高人帮帮我。。万分感谢。
...全文
331 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
艾德 2009-02-28
  • 打赏
  • 举报
回复
MS你配了什么security一类的东西指到jboss上了

还有,你是用的IBM的JDK吗?
feptest 2009-02-25
  • 打赏
  • 举报
回复
快两天了没人加答吗???
feptest 2009-02-24
  • 打赏
  • 举报
回复
大哥您这话跟没说一样啊!!!
xiaoduan9678 2009-02-23
  • 打赏
  • 举报
回复
好像是类库的问题

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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