解决springboot+activemq启动报注解错误的问题

网友投稿 1760 2022-12-25

解决springboot+activemq启动报注解错误的问题

解决springboot+activemq启动报注解错误的问题

springboot+activemq启动报注解错误

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.

原因总结有以下3点原因:

1.spring.activemq.pool.enabled=true,线程池开启,后面有空格,且没有引入线程池包

org.apache.activemq

activemq-pool

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踩过坑

启动时候就关闭了

配置如下

server:

port: 8762

# context-path: /memeber

eureka:

client:

service-url:

defaultZone: http://localhost:8761/eureka/

spring:

application:

name: member

redis:

host: 127.0.0.1

password: 123456

port: 6379

pool:

max-idle: 100

min-idle: 1

max-active: 1000

max-wait: -1

datasource:

name: test1

url: jdbc:mysql://127.0.0.1:lNtouFAMn3306/dandan-member

username: root

password: 123456

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.jdbc.Driver

filters: stat

maxActive: 20

initialSize: 1

maxWait: 60000

minIdle: 1

timeBetweenEvictionRunsMillis: 60000

minEvictableIdleTimeMillis: 300000

validationQuery: select 'x'

testWhileIdle: true

testOnBorrow: false

testOnReturn: false

poolPreparedStatements: true

maxOpenPreparedStatements: 20

##activemq连接信息

activemq:

broker-url: tcp://localhost:61616

in-memory: true

pool:

enabled: false

##队列

messages:

queue: messages_queue

解决如下

原本activemq 没有在spring.后面直接在前面了,与spring同级了

解决后配置如下

server:

port: 8762

# context-path: /memeber

eureka:

client:

service-url:

defaultZone: http://localhost:8761/eureka/

spring:

application:

name: member

redis:

host: 127.0.0.1

password: 123456

port: 6379

pool:

max-idle: 100

min-idle: 1

max-active: 1000

max-wait: -1

datasource:

name: test1

url: jdbc:mysql://127.0.0.1:3306/dandan-member

username: root

password: 123456

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.jdbc.Driver

filters: stat

maxActive: 20

initialSize: 1

maxWait: 60000

minIdle: 1

timeBetweenEvictionRunsMillis: 60000

minEvictableIdleTimeMillis: 300000

validationQuery: select 'x'

testWhileIdle: true

testOnBorrow: false

testOnReturn: false

poolPreparedStatements: true

maxOpenPreparedStatements: 20

##activemq连接信息

activemq:

broker-url: tcp://localhost:61616

in-memory: true

pool:

enabled: false

##队列

messages:

queue: messages_queue

建议。yml缩进要四个字节。一个字节不容http://易分辨

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:智能车载终端旗舰型(智能车载终端旗舰型号有哪些)
下一篇:智能车载终端品牌有什么(车载信息智能终端龙头)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~