0

我在这上面浪费了 2 天时间,现在放弃了一个工作 WSO 系统以回到基础,只是 WSO2 AS + Activemq。

我只是无法让 jms 传输工作。

我不断收到此错误

TID:[0] [AS] [2015-06-01 13:20:12,179] 错误 {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一起使用?

4

1 回答 1

1

多次重装后终于发现问题。

原来最初的问题是由 acvtivemq-all jar 引起的,可以通过重新打包没有 jms 包来解决,就像我之前做的那样。

但是,在对 fs 进行最后一次彻底的刮擦之后​​,我注意到原始的 activemq-all jar 已从 wso2as/repository/components/lib 目录复制到 wso2as/repository/components/dropin 目录中,因此仍在类路径中. 我讨厌这样做的系统:)

从 dropin 目录中删除该 jar 后,服务器启动时没有错误。

于 2015-06-01T14:53:47.433 回答