我有一个示例应用程序演示使用:
- 春天框架
4.2.5
- 活动MQ
5.13.3
我有以下内容:
@Bean(name="connectionFactory")
public CachingConnectionFactory cachingConnectionFactory(ActiveMQConnectionFactory selectedActiveMQConnectionFactory) throws JMSException{
CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory();
cachingConnectionFactory.setClientId("ManolitoActiveMQ");
cachingConnectionFactory.setTargetConnectionFactory(selectedActiveMQConnectionFactory);
cachingConnectionFactory.setSessionCacheSize(10);
cachingConnectionFactory.createConnection().start();
return cachingConnectionFactory;
}
当我使用该cachingConnectionFactory.createConnection().start();
行时,我可以看到当我的应用程序启动时它显示:
3370 [main] INFO osjcCachingConnectionFactory - 已建立共享 JMS 连接:ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}
当应用程序启动并阅读时,是否有预期该消息的意义,Established shared JMS Connection
但为什么会显示started=false
?我觉得应该是真的。
如果我评论cachingConnectionFactory.createConnection().start();
并启动应用程序,上面显示的消息不会出现,好的,这是预期的。但是后来JMX
当我开始发送消息时,我又可以看到
3370 [main] INFO osjcCachingConnectionFactory - 已建立共享 JMS 连接:ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}
好的,这是预期的,但再次started=false
出现
在某些方面令人困惑,因为该cachingConnectionFactory.createConnection().start()
行以start()
连接结尾
- 所以为什么几乎总是出现
started=false
? - 该属性何时或如何
started
出现true
?