2012-08-31 8 views
2

새로운 WSO2 ESB 버전 4.2.3 (마지막으로 지금까지 안정화)을 설치했으며 다음으로 axis2.xml 파일에서 JMS 전송 : 오류가 발견되었습니다 시작시 직후AXIS2 : ConnectionFactory 이름의 JNDI 조회에서 javax.jms.ConnectionFactory 인터페이스가 예상되는 동안 org.jboss.mq.SpyConnectionFactory를 반환했습니다.

<!-- Configuration for JBoss 4.2.2 GA MQ --> 
<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"> 
    <parameter name="SMSOUTQueueConnectionFactory" locked="false"> 
      <parameter name="java.naming.factory.initial" locked="false">org.jnp.interfaces.NamingContextFactory</parameter> 
      <parameter name="java.naming.factory.url.pkgs" locked="false">org.jboss.naming:org.jnp.interfaces</parameter> 
      <parameter name="java.naming.provider.url" locked="false">jnp://192.168.10.125:1100</parameter> 
      <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">ConnectionFactory</parameter> 
      <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter> 
      <parameter name="transport.jms.Destination" locked="true">queue/SMSOUTQueue</parameter> 
    </parameter> 
</transportReceiver> 

:

15:09:16,585 INFO [STDOUT] 15:09:16,585 ERROR [BaseUtils] JNDI lookup of name ConnectionFactory returned a org.jboss.mq.SpyConnectionFactory while a interface javax.jms.ConnectionFactory was expected 
15:09:16,587 INFO [STDOUT] 15:09:16,585 ERROR [ListenerManager] Couldn't initialize the jmstransport listener 
org.apache.axis2.transport.base.BaseTransportException: JNDI lookup of name ConnectionFactory returned a org.jboss.mq.SpyConnectionFactory while a interface javax.jms.ConnectionFactory was expected 
     at org.apache.axis2.transport.base.BaseUtils.handleException(BaseUtils.java:167) 
     at org.apache.axis2.transport.jms.JMSUtils.lookup(JMSUtils.java:522) 
     at org.apache.axis2.transport.jms.JMSConnectionFactory.<init>(JMSConnectionFactory.java:92) 
     at org.apache.axis2.transport.jms.JMSConnectionFactoryManager.loadConnectionFactoryDefinitions(JMSConnectionFactoryManager.java:58) 
     at org.apache.axis2.transport.jms.JMSConnectionFactoryManager.<init>(JMSConnectionFactoryManager.java:45) 
     at org.apache.axis2.transport.jms.JMSListener.doInit(JMSListener.java:58) 
     at org.apache.axis2.transport.base.AbstractTransportListenerEx.init(AbstractTransportListenerEx.java:62) 
     at org.apache.axis2.engine.ListenerManager.init(ListenerManager.java:84) 
     at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:386) 
     at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:273) 
     at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:117) 
     at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:916) 
     at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) 
     at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330) 

나는 때문에, 사람들이 ...WEB-INF/lib/geronimo-jms_1.1_spec-1.1.0.wso2v1.jar을 제거하기 위해 말할 게시물을 많이 발견 그렇지 않으면 시냅스는 그렇지 않습니다. 어떤 외부 JMS 브로커 (Mule ESB에 대해서도 동일한 답변을 찾았습니다)와 함께 작업하지만, 나에게이 솔루션은 작동하지 않습니다.

문제는 매우 비슷합니다 to this link입니다.

도움이 매우 감사합니다. 많은 감사드립니다.

답변

0

이것은 약간 늦은 대답입니다. 그러나 나는 또한 동일한 오류가 발생하여 고칠 수있었습니다. WSO2 ESB 4.6.0에서 JBoss Server에 배포 된 JMS 대기열에 연결하려고 시도하고 jer geronimo-jms_1.1_spec-1.1.0.wso2v1.jar을 제거해도, 언급 한 문제가 해결되지 않았습니다.

추가 된 jboss 관련 jar 파일에서 ESB/repository/components/lib에 추가로 javax.jms 구현을 노출하는 다른 병이 있습니다. . 예를 들어, 제 경우에는 jboss-j2ee.jar 및 jbossall-client.jar이라는 두 개의 추가 jar가 있으며 javax.jms를 노출합니다.. 내가 한 것은 두 개의 병을 열고 javax.jms. *의 패키지 부분을 양쪽에서 제거한 것입니다. 그런 다음 문제가 해결되었습니다.

감사합니다.