Spring在Liferay中集成ActiveMQ时出现问题



我正在修改一个使用服务层的基于Maven的Liferay portlet(6.1.1)。

我的需求是向portlet添加一个ActiveMQ侦听器(用于与外部产品通信)。

我正在尝试使用集成的spring引擎(3.0.7)来实例化侦听器。

因此,首先,在ext-sping.xml(由Liferay自动管理)中,我定义了以下bean:-连接工厂:org.apache.activemq.ActiveMQConnectionFactory-缓存连接工厂(org.springframework.jms.connection.CachingConnectionFactory),其具有对先前bean的targetConnectionFactory引用。

在部署时,我得到的错误是:

Cannot convert value of type [org.apache.activemq.ActiveMQConnectionFactory] to 
required type [javax.jms.ConnectionFactory] for property 
'targetConnectionFactory': no matching editors or conversion strategy found

显然,org.apache.activemq.ActiveMQConnectionFactory实现了javax.jms.ConnectionFactory,事实上,如果我尝试通过代码设置值,部署就成功了。

在我的pom.xml中,我试图将depenency添加到activemq-core(仅activemq)或activemq-all(还包含javax.jms包),但没有成功。

这怎么可能?

感谢

可能是一个类加载器问题-加载CachingConnectionFactory的类加载器正在解决不同于加载ActiveMQ工厂的javax.jms.ConnectionFactory

在命令行上使用-verbose运行,查看从哪个jar类加载。

最新更新