问题
Description:
Field jmsMessagingTemplate in com.haozz.demo.mq.PromoteActProducer required a bean of type 'org.springframework.jms.core.JmsMessagingTemplate' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
The following candidates were found but could not be injected:
- Bean method 'jmsMessagingTemplate' in 'JmsAutoConfiguration.MessagingTemplateConfiguration' not loaded because Ancestor org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration did not match
Action:
Consider revisiting the entries above or defining a bean of type 'org.springframework.jms.core.JmsMessagingTemplate' in your configuration.
解决方案
1.spring.activemq.pool.enabled=true,线程池开启,后面有空格,且没有引入线程池包
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
</dependency>
2.springboot版本问题不支持,建议用2.0版本启动
org.springframework.boot spring-boot-starter-parent 2.0.1.RELEASE猜想:估计是因为2.1.0+版本有自己的线程池管理,导致冲突
3.spring.activemq.pool.enabled=false,关闭线程池
本文解决SpringBoot结合ActiveMQ启动时遇到的注解错误问题,包括线程池配置、版本兼容性和配置调整。通过引入activemq-pool依赖、使用合适版本的spring-boot-starter-parent及正确配置spring.activemq.pool.enabled参数。
1222

被折叠的 条评论
为什么被折叠?



