2010-09-14 2 views
4

Сейчас я получаю это исключение от простого 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 только потому, что он выбрасывает это исключение.

ответ

3

Любому, кому это было интересно, я смог решить это, добавив еще несколько файлов jar в мой путь к классам. Также проблема заключалась в том, что у меня не было менеджера безопасности.

hornetq-jms.jar hornetq-logging.jar hornetq-bootstrap.jar hornetq-core.jar hornetq-JBoss-а-integration.jar JBoss-а-hornetq-int.jar Netty. jar

Этот файл jar можно найти в дистрибутиве JBoss.

+0

Привет - Я знаю, что это старое сообщение, но не могли бы вы рассказать мне, где вы добавили менеджера безопасности? Благодарю. – user265330

+0

Настройки менеджера безопасности расположены в JRE. $ {} JRE /lib/security/java.policy. Вы можете быстро найти способ установки этого менеджера политики безопасности. – Albinoswordfish

3
This resolved exactly the same issue for me. 


<dependency> 
     <groupId>jboss</groupId> 
     <artifactId>jboss-aop-jdk50-client</artifactId> 
     <version>4.2.2.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.netty</groupId> 
     <artifactId>netty</artifactId> 
     <version>3.2.3.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hornetq</groupId> 
     <artifactId>hornetq-jms-client</artifactId> 
     <version>2.2.5.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hornetq</groupId> 
     <artifactId>hornetq-core</artifactId> 
     <version>2.2.5.Final</version> 
    </dependency> 
Смежные вопросы