我有同样的问题。以下是创建bean的解决方案:
@Bean(name = "activemqConnectionFactory") public PooledConnectionFactory connectionFactory(@Qualifier("activemqRedeliveryPolicy") RedeliveryPolicy redeliveryPolicy) { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); connectionFactory.setBrokerURL("tcp://" + env.getProperty("queue.url")); connectionFactory.setTrustAllPackages(true); PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(connectionFactory); pooledConnectionFactory.setMaxConnections(8); return pooledConnectionFactory; }
解决方法是添加org.apache.activemq:activemq-pool并配置PooledConnectionFactory:
spring.activemq.pool.enabled=true spring.activemq.pool.max-connections=50
在Spring Boot中启用池是不够的,因为自动配置会检查依赖性。