gpt4 book ai didi

wso2 - AXIS2 : JNDI lookup of name ConnectionFactory returned a org. jboss.mq.SpyConnectionFactory 而预期接口(interface) javax.jms.ConnectionFactory

转载 作者:行者123 更新时间:2023-12-05 00:54:40 26 4
gpt4 key购买 nike

我安装了一个全新的 WSO2 ESB 4.2.3 版(到目前为止是最稳定的版本),并且我在 axis2.xml 文件中配置了 JMS 传输,如下所示:

<!-- 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 .

非常感谢任何帮助。非常感谢。

最佳答案

这个回复有点晚了。但我也遇到了同样的错误并且能够修复。当尝试从 WSO2 ESB 4.6.0 连接到部署在 JBoss 服务器中的 JMS 队列时,甚至删除了 jar geronimo-jms_1.1_spec-1.1.0.wso2v1.jar,您提到的问题没有得到解决。

原因是,在你添加的 jboss 相关的 jar 到 ESB/repository/components/lib 中,还有一些其他的 jar,暴露了 javax.jms 的实现。。例如,在我的例子中,有两个额外的 jar,分别称为 jboss-j2ee.jar 和 jbossall-client.jar,用于公开 javax.jms。。我所做的是打开这两个 jar 并从两个 jar 中删除 javax.jms.* 的公开包部分。然后问题就解决了。

谢谢;

关于wso2 - AXIS2 : JNDI lookup of name ConnectionFactory returned a org. jboss.mq.SpyConnectionFactory 而预期接口(interface) javax.jms.ConnectionFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com