gpt4 book ai didi

java - Spring 在 Liferay 中集成 ActiveMQ 的问题

转载 作者:行者123 更新时间:2023-11-30 04:08:26 25 4
gpt4 key购买 nike

我正在修改一个使用服务层的基于 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),其中 targetConnectionFactory 引用先前的 bean。

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

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中,我尝试向activemq-core(仅activemq)或activemq-all(还包含javax.jms包)添加依赖项,但没有成功。

这怎么可能?

谢谢

最佳答案

可能是类加载器问题 - 加载 CachingConnectionFactory 的类加载器正在解析为与加载 ActiveMQ 工厂的类加载器不同的 javax.jms.ConnectionFactory

在命令行上使用 -verbose 运行以查看正在加载哪些 jar 类。

关于java - Spring 在 Liferay 中集成 ActiveMQ 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20197539/

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