现在我从我编写的一个简单的JMS客户端获取此异常,以测试是否可以连接到JBoss JMS。下面是我下面的代码片断:JMS客户端连接到JBoss 6 AS异常
Properties props = new Properties();
props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
props.setProperty("java.naming.provider.url", url_);
Context context = new InitialContext(props);
System.out.println("performing lookup...");
Object tmp = context.lookup("/ConnectionFactory");
System.out.println("lookup completed, making topic");
TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;
conn = tcf.createTopicConnection();
topic = (Topic) context.lookup(name_);
session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
conn.start();
TopicSubscriber recv = session.createSubscriber(topic);
recv.setMessageListener(this);
我有以下的罐子: jms.jar(我得到这个从JBoss发行版外) jbossall-client.jar中 log4j.jar 的jboss-记录的.jar javax.jms.jar(我得到这个从JBoss发行版外) jnpserver.jar 的jboss-共core.jar添加
我得到以下异常:
javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: org.hornetq.jms.referenceable.SerializableObjectRefAddr (no security manager: RMI class loader disabled)]
这是在本地运行,它似乎连接到JBoss服务器只是它抛出了这个异常。
嗨 - 我知道这是一个旧帖子 - 但你能告诉我你在哪里添加了安全管理器吗?谢谢。 – user265330 2013-03-27 18:32:01
安全管理器设置位于JRE中。 $ {} JRE /lib/security/java.policy。您可以快速查找如何设置这些安全策略管理器。 – Albinoswordfish 2014-03-20 22:53:18