我浪费了2天的时间,现在放弃了工作的WSO系统,回到基础,只有WSO2 AS + Activemq。
我无法让jms传输工作。
我一直收到此错误
TID:[0] [AS] [2015-06-01 13:20:12,179] ERROR {org.apache.axis2.engine.ListenerManager} - 无法初始化jmstransport侦听器{org.apache。 axis2.engine.ListenerManager} {org.apache.axis2.transport.base.BaseTransportException:名称TopicConnectionFactory的JNDI查找返回了org.apache.activemq.ActiveMQConnectionFactory,而期望接口javax.jms.ConnectionFactory}
我已尝试过WSO2 AS附带的安装说明以及AS附带的银行样本。
我搜索了太多的解决方案,包括不将geronimo库放在AS lib目录中,一直解压activemq-all jar以从中删除jms类并重新打包但仍然是同样的问题。
我从银行样本中读到的最后一件事是,这个错误是由于我的类路径中有多个geronimo类的副本引起的,但是我已经搜索了路径,但事实并非如此,除非它嵌入在其他类包中。
我去年使用的AS和activemq的早期版本开箱即用,但这是不可能的。
任何人都可以告诉我如何让WSO2产品与activemq一起使用,然后再放弃整个架构并选择其他可以开箱即用的产品?
答案 0 :(得分:1)
最后在多次重新安装后发现问题。
原来问题是由acvtivemq-all jar引起的,可以通过重新打包而无需jms包来解决,就像我之前做的那样。
然而,在最后一次绝望的scs之后,我注意到原来的activemq-all jar已经从wso2as / repository / components / lib目录复制到了wso2as / repository / components / dropin目录中,所以仍然是在类路径中。我讨厌这样做的系统:)
从dropin目录中删除该jar后,服务器启动时没有错误。