2012-12-11 5 views
0

JBoss 4.2.2 응용 프로그램 또는 6.1.0.FINAL을 마이그레이션하려고하는데 hornetq을 구성하는 데 어려움이 있습니다.Hornetq org.jboss.mq.referenceable.ObjectRefAddr 예외

12:32:26,133 ERROR [STDERR] javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
12:32:26,133 ERROR [STDERR] java.lang.ClassNotFoundException: org.jboss.mq.referenceable.ObjectRefAddr (no security manager: RMI class loader disabled)]] 
12:32:26,134 ERROR [STDERR] at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1356) 
12:32:26,134 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:819) 
12:32:26,134 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688) 
12:32:26,134 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:392) 
12:32:26,134 ERROR [STDERR] at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154) 
12:32:26,134 ERROR [STDERR] at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87) 
12:32:26,134 ERROR [STDERR] at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152) 
12:32:26,135 ERROR [STDERR] at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178) 
12:32:26,135 ERROR [STDERR] at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95) 
12:32:26,135 ERROR [STDERR] at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105) 
12:32:26,135 ERROR [STDERR] at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201) 
12:32:26,135 ERROR [STDERR] at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187) 
12:32:26,135 ERROR [STDERR] at com.myCompany.util.external.domainObject.patch.JmsTemplateFactory.init(JmsTemplateFactory.java:66) 
12:32:26,135 ERROR [STDERR] at com.myCompany.util.external.domainObject.patch.JmsTemplateFactory.<init>(JmsTemplateFactory.java:43) 
12:32:26,136 ERROR [STDERR] at com.myCompany.util.external.patch.ObjectMessageReceiver.start(ObjectMessageReceiver.java:53) 
12:32:26,136 ERROR [STDERR] at com.myCompany.util.external.patch.ObjectMessageReceiver.run(ObjectMessageReceiver.java:37) 
12:32:26,136 ERROR [STDERR] at org.jboss.resource.work.WorkWrapper.run(WorkWrapper.java:172) 
12:32:26,136 ERROR [STDERR] at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) 
12:32:26,136 ERROR [STDERR] at org.jboss.threads.CleanupExecutor.execute(CleanupExecutor.java:38) 
12:32:26,136 ERROR [STDERR] at org.jboss.threads.CleanupExecutor.execute(CleanupExecutor.java:38) 
12:32:26,137 ERROR [STDERR] at org.jboss.threads.QueuelessExecutor$Worker.run(QueuelessExecutor.java:614) 
12:32:26,137 ERROR [STDERR] at java.lang.Thread.run(Thread.java:662) 
12:32:26,137 ERROR [STDERR] at org.jboss.threads.JBossThread.run(JBossThread.java:122) 
12:32:26,137 ERROR [STDERR] Caused by: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
12:32:26,137 ERROR [STDERR] java.lang.ClassNotFoundException: org.jboss.mq.referenceable.ObjectRefAddr (no security manager: RMI class loader disabled)] 
12:32:26,138 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:841) 
12:32:26,138 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688) 
12:32:26,138 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:392) 
12:32:26,138 ERROR [STDERR] at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1350) 
12:32:26,138 ERROR [STDERR] ... 22 more 
12:32:26,139 ERROR [STDERR] Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
12:32:26,139 ERROR [STDERR] java.lang.ClassNotFoundException: org.jboss.mq.referenceable.ObjectRefAddr (no security manager: RMI class loader disabled) 
12:32:26,139 ERROR [STDERR] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:178) 
12:32:26,139 ERROR [STDERR] at org.jboss.ha.framework.server.HARMIServerImpl_Stub.invoke(Unknown Source) 
12:32:26,139 ERROR [STDERR] at org.jboss.ha.framework.interfaces.HARMIClient.invokeRemote(HARMIClient.java:225) 
12:32:26,139 ERROR [STDERR] at org.jboss.ha.framework.interfaces.HARMIClient.invoke(HARMIClient.java:327) 
12:32:26,140 ERROR [STDERR] at $Proxy210.lookup(Unknown Source) 
12:32:26,140 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:728) 
12:32:26,140 ERROR [STDERR] ... 25 more 
12:32:26,140 ERROR [STDERR] Caused by: java.lang.ClassNotFoundException: org.jboss.mq.referenceable.ObjectRefAddr (no security manager: RMI class loader disabled) 
12:32:26,141 ERROR [STDERR] at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:373) 
12:32:26,141 ERROR [STDERR] at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:163) 
12:32:26,141 ERROR [STDERR] at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620) 
12:32:26,141 ERROR [STDERR] at org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.java:91) 
12:32:26,141 ERROR [STDERR] at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247) 
12:32:26,141 ERROR [STDERR] at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197) 
12:32:26,142 ERROR [STDERR] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) 
12:32:26,142 ERROR [STDERR] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) 
12:32:26,142 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) 
12:32:26,142 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) 
12:32:26,142 ERROR [STDERR] at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666) 
12:32:26,142 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322) 
12:32:26,143 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946) 
12:32:26,143 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870) 
12:32:26,143 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) 
12:32:26,143 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) 
12:32:26,143 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946) 
12:32:26,143 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870) 
12:32:26,144 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) 
12:32:26,144 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) 
12:32:26,144 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946) 
12:32:26,144 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870) 
12:32:26,144 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) 
12:32:26,144 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) 
12:32:26,144 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) 
12:32:26,145 ERROR [STDERR] at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306) 
12:32:26,145 ERROR [STDERR] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:155) 
12:32:26,145 ERROR [STDERR] ... 30 more 

내 hornetq-jms.xml 꽤 표준입니다 : :

<configuration xmlns="urn:hornetq" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd"> 
     <connection-factory name="NettyConnectionFactory"> 
      <connectors> 
       <connector-ref connector-name="netty"/> 
      </connectors> 
      <entries> 
       <entry name="/ConnectionFactory"/> 
       <entry name="/XAConnectionFactory"/> 
      </entries> 
     </connection-factory> 
<!-- JMS destination definitions updated for JBossAS using HornetQ --> 
    <queue name="myQueuet"> 
     <entry name="/queue/myQueue"/> 
    </queue> 
</configuration> 

그리고 여기 내 jmsTemplateFactory의 관련 부분은 다음과 같습니다

public JmsTemplateFactory(String url, String queueName) { 
     this.url = url; 
     this.queueName = queueName; 
     init(); 
    } 

    public void init() { 
     logger.info("\nINIT JMS TEMPLATE...url= " + url + ", queueName: " + queueName); 
     // JndiTemplate 
     JndiTemplate jndiTemplate = new JndiTemplate(); 
     Properties environment = new Properties(); 
     environment.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 
     environment.put("java.naming.factory.url.pkgs", "org.jnp.interfaces:org.jboss.naming"); 
     environment.put("java.naming.provider.url", url); 
     jndiTemplate.setEnvironment(environment); 

     // JMS Queue Connection Factory 
     JndiObjectFactoryBean jndiObjectFactoryBean = new JndiObjectFactoryBean(); 
     jndiObjectFactoryBean.setJndiTemplate(jndiTemplate); 
     jndiObjectFactoryBean.setJndiName("UIL2ConnectionFactory"); 

     // JMS Destination 
     JndiObjectFactoryBean jndiObjectFactoryBean2 = new JndiObjectFactoryBean(); 
     jndiObjectFactoryBean2.setJndiTemplate(jndiTemplate); 
     jndiObjectFactoryBean2.setJndiName(queueName); 
     try { 
      jndiObjectFactoryBean.afterPropertiesSet(); 
      jndiObjectFactoryBean2.afterPropertiesSet(); 
     } catch (IllegalArgumentException e) { 
      e.printStackTrace(); 
     } catch (NamingException e) { 
      e.printStackTrace(); 
     } 

     logger.info("Queue name is " + queueName); 

     // JMS Queue Template 
     jmsTemplate = new JmsTemplate102(); 
     jmsTemplate.setConnectionFactory((ConnectionFactory) jndiObjectFactoryBean.getObject()); 
     jmsTemplate.setDefaultDestination((Destination) jndiObjectFactoryBean2.getObject()); 
     jmsTemplate.setReceiveTimeout(30000);   
    } 

    public JmsTemplate102 getJmsTemplate(String url, String queueName) { 
     this.url = url; 
     this.queueName = queueName; 
     init(); 
     return jmsTemplate; 
    } 
첫째, 여기에 내가지고있어 예외입니다

누구든지이 예외가 생성되는 이유를 알고 계십니까?

답변

1

구성에서 JBoss MQ 객체를 참조하고 있습니다. 구성 및 서버 설치를 수정하면 좋을 것입니다.

+0

그래서 내 소스 코드에 grep -r을했는데 내 응용 프로그램에서 org.jboss.mq를 참조하지 않았습니다. 나는 또한 내 server/all/conf 디렉토리에 동일한 작업을 수행했으며 거기에 대한 참조도 없었다. 내가 뭘 놓치고 있니? –

+0

추적에 java.lang.ClassNotFoundException : JBoss MQ 인 org.jboss.mq.referenceable.ObjectRefAddr이 있습니다. 이것이 시스템의 구성 문제입니다. 서버의 적절한 구성을 수행해야합니다. JBoss7을 마이그레이션에 사용해야합니다. –

관련 문제