Spring Boot相同的代理消息重复到控制台

Jor*_*dan 10 spring activemq-classic spring-boot

我现在正在开发一个Spring Boot项目,这个文本每秒都会被打印到控制台上30秒,然后停止.

15:18:02.416  o.a.activemq.broker.TransportConnector : Connector vm://localhost started
15:18:03.480  o.a.activemq.broker.TransportConnector : Connector vm://localhost stopped
15:18:03.480  o.apache.activemq.broker.BrokerService : Apache ActiveMQ 5.10.1 (localhost, ID:Jordan-801993-L.local-55074-1432703875573-0:7) is shutting down
15:18:03.481  o.apache.activemq.broker.BrokerService : Apache ActiveMQ 5.10.1 (localhost, ID:Jordan-801993-L.local-55074-1432703875573-0:7) uptime 1.069 seconds
15:18:03.481  o.apache.activemq.broker.BrokerService : Apache ActiveMQ 5.10.1 (localhost, ID:Jordan-801993-L.local-55074-1432703875573-0:7) is shutdown
15:18:03.542  o.apache.activemq.broker.BrokerService : Using Persistence Adapter: MemoryPersistenceAdapter
15:18:03.543  o.apache.activemq.broker.BrokerService : Apache ActiveMQ 5.10.1 (localhost, ID:Jordan-801993-L.local-55074-1432703875573-0:8) is starting
15:18:03.543  o.apache.activemq.broker.BrokerService : Apache ActiveMQ 5.10.1 (localhost, ID:Jordan-801993-L.local-55074-1432703875573-0:8) started
15:18:03.543  o.apache.activemq.broker.BrokerService : For help or more information please see: http://activemq.apache.org
15:18:03.544  o.a.a.broker.jmx.ManagementContext     : JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
15:18:03.544  o.a.activemq.broker.TransportConnector : Connector vm://localhost started
Run Code Online (Sandbox Code Playgroud)

该项目仍然工作正常,这只是令人讨厌.任何人都知道为什么会发生这种情况?

ci_*_*ci_ 9

我无法深入解释为什么会发生这种情况,但它与ConnectionFactory自动配置的方式有关.

摆脱嵌入式代理不断重启的一种方法是在以下方法中启用池application.properties:

spring.activemq.pooled=true
Run Code Online (Sandbox Code Playgroud)

为了使用它,您还必须将以下依赖项添加到您的pom.xml:

<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-pool</artifactId>
</dependency> 
Run Code Online (Sandbox Code Playgroud)

我已经挖掘了一些文档并最终找到了这个

在页面底部显示:

使用ActiveMQConnectionFactory
...
将在创建第一个连接时创建代理.
...

同样,这并没有完全解释发生了什么,但是一旦我发现启用池阻止了这种行为的发生,我就停止了挖掘.