【发布时间】:2016-09-18 20:10:12
【问题描述】:
我有一个示例应用演示:
- Spring 框架
4.2.5 - ActiveMQ
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 o.s.j.c.CachingConnectionFactory - 已建立共享 JMS 连接: ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}
当应用程序启动并阅读Established shared JMS Connection 时,是否有预期该消息,但为什么显示started=false?我觉得应该是真的。
如果我评论cachingConnectionFactory.createConnection().start();并启动应用程序,上面显示的消息不会出现,好的,这是预期的。但是后来通过JMX开始发消息,又可以看到了
3370 [main] INFO o.s.j.c.CachingConnectionFactory - 已建立共享 JMS 连接: ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}
好的,但是started=false又出现了
这在某些方面令人困惑,因为cachingConnectionFactory.createConnection().start() 行以start() 结束连接
- 为什么实际上总是出现
started=false? -
started属性何时或如何与true一起出现?
【问题讨论】:
标签: spring activemq jmx spring-jmx