[code="java"].......
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnection.DEFAULT_USER,
ActiveMQConnection.DEFAULT_PASSWORD, "tcp://127.0.0.1:61616");
connection = connectionFactory.createConnection();
connection.start();
......
[/code]
如上所示,每个JMS像mq发送信息的时候都会依次建立connection,session.messsage,那这3个东西因该每次用的时候都去新建一个呢
还是一直开着呢?
希望有做高性能应用的朋友指教一下,谢谢!
设计思路是这样的,互相借鉴印证。
一般认为close就是断开连接,同时这个connection对象会被系统回收。
如果你从连接池里面拿连接,这时候由连接池检查connection是否有效。连接池不同,实现也不同,还是非常灵活的,你可以根据需要起一个后台线程定时检查活性(如果有必要)。
在网络通讯中tcp/ip协议是支持长连接的,只要不是故障,均可以长久保持。
MQ提供了基础的connection工厂,你可以基于这个工厂来实现连接池的功能。这样就达到了connection的复用了。
其实看看JDBC的使用就知道了,驱动不负责管理connection,connection由后面的c3p0等连接池去封装。