Spring JMS:为什么总是使用 started=false 创建 CachingConnectionFactory?
Spring JMS: Why CachingConnectionFactory is created always with started=false?
我有一个示例应用程序演示可用于:
- 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 - Established shared JMS Connection:
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 - Established shared JMS Connection:
ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}
好的,这是预期的,但又出现了 started=false
它在某些方面令人困惑,因为 cachingConnectionFactory.createConnection().start()
行以 start()
结尾,用于 Connection
- 所以为什么几乎总是出现
started=false
?
started
属性何时或如何与 true
一起出现?
注意 started=false
在连接的 toString()
中——它与连接工厂无关;它与刚刚创建的连接有关。
logger.info("Established shared JMS Connection: " + this.connection);
如果需要,稍后将启动连接本身。
我有一个示例应用程序演示可用于:
- 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 - Established shared JMS Connection: 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 - Established shared JMS Connection: ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}
好的,这是预期的,但又出现了 started=false
它在某些方面令人困惑,因为 cachingConnectionFactory.createConnection().start()
行以 start()
结尾,用于 Connection
- 所以为什么几乎总是出现
started=false
? started
属性何时或如何与true
一起出现?
注意 started=false
在连接的 toString()
中——它与连接工厂无关;它与刚刚创建的连接有关。
logger.info("Established shared JMS Connection: " + this.connection);
如果需要,稍后将启动连接本身。