3. SingleConnectionFactory
SingleConnectionFactory类实现了ConnectionFactory, QueueConnectionFactory, TopicConnectionFactory接口。
SingleConnectionFactory的createConnection()方法总是返回相同的Connection对象,如果出现Exception,共享连接可以自动的恢复。可以通过SingleConnectionFactory的构造函数中传入Connection对象或者ConnectionFactory对象,用来创建被代理的连接对象。SingleConnectionFactory.createConnection方法返回的连接是个代理,它忽略了对stop和close方法的调用(连接会在SingleConnectionFactory.destroy方法中关闭)。
protected Connection getSharedConnectionProxy(Connection target) {
List<Class> classes = new ArrayList<Class>(3);
classes.add(Connection.class);
if (target instanceof QueueConnection) {
classes.add(QueueConnection.class);
}
if (target instanceof TopicConnection) {
classes.add(TopicConnection.class);
}
return (Connection) Proxy.newProxyInstance(
Connection.class.getClassLoader(),
classes.toArray(new Class[classes.size()]),
new SharedConnectionInvocationHandler(target));
}
SingleConnectionFactory的reconnectOnException属性用来指定是否在连接抛出JMSException的时候,对连接进行重置,重置后如果再调用createConnection方法,那么会返回一个新的连接。
3.1 CachingConnectionFactory
CachingConnectionFactory继承了SingleConnectionFactory,增加了MessageProducer和Session的缓存功能。
private int sessionCacheSize = 1; //默认对Session的缓存为1
private boolean cacheConsumers = true; //默认缓存消息消费对象
private boolean cacheConsumers = true; //默认缓存消息生产对象
内部类CachedSessionInvocationHandler实现了java.lang.reflect.InvocationHandler接口。当我们调用getSession()方法去获得一个缓存的Session,会产生一个缓存的Session代理对象。
分享到:
相关推荐
详细内容: SpringJMS整合ActiveMQ.doc 详细说明文档 apache-activemq-5.8.0-bin.zip ActiveMQ安装包 JMSTest.rar MyEclipse8.5下web工程
activeMQ和Spring集成的 SpringJMS示例代码,适合新手,老鸟勿喷请绕道。ps:为什么传个资源一定要设置下载分呢
Spring对JMS提供了很好的支持,可以通过JmsTemplate来方便地实现消息服务。本例通过activeMQ服务器模拟了消息的发送与接收。需要注意的是,activeMQ的运行依赖jdk的环境,而且对jdk的版本也有要求,我用的是jdk1.6+...
spring_jms是基于Maven+Spring+JMS+Active入门级实例.
spring-jmsspring-jmsspring-jmsspring-jmsspring-jmsspring-jms
spring-jms入门
本人开发的spring jms项目,已经上线近一年了,这里是我项目jms配置文件,使用的是spring jms 整合weblogic jms。如果真的需要,请咨询我,并且附上我上传的这个配置文件,附近中没有带有这个文件,一律不作任何回答...
赠送jar包:spring-jms-4.3.12.RELEASE.jar; 赠送原API文档:spring-jms-4.3.12.RELEASE-javadoc.jar; 赠送源代码:spring-jms-4.3.12.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-jms-4.3.12.RELEASE....
spring jms jar包
Java网络编程--基于Spring的JMS编程
赠送jar包:spring-jms-4.3.20.RELEASE.jar; 赠送原API文档:spring-jms-4.3.20.RELEASE-javadoc.jar; 赠送源代码:spring-jms-4.3.20.RELEASE-sources.jar; 包含翻译后的API文档:spring-jms-4.3.20.RELEASE-...
spring-jms-4.0.0.RELEASE.jar spring-jms-4.0.0.RELEASE.jar spring-jms-4.0.0.RELEASE.jar spring-jms-4.0.0.RELEASE.jar
基于Spring+JMS+ActiveMQ+Tomcat,我使用的版本情况如下所示:Spring 3.2.0,ActiveMQ 5.4.3,Tomcat 6.0.43。本例通过详细的说明和注释,实现消息服务的基本功能:发送与接收。Spring对JMS提供了很好的支持,可以...
赠送jar包:spring-jms-4.3.20.RELEASE.jar 赠送原API文档:spring-jms-4.3.20.RELEASE-javadoc.jar 赠送源代码:spring-jms-4.3.20.RELEASE-sources.jar 包含翻译后的API文档:spring-jms-4.3.20.RELEASE-...
JMS如何整合Spring,简单实例,仅供参考
spring3.0整合了activemQ和jms可以发送信息和接收消息
spring-jms-4.0.xsd........................................
Spring+JMS + Mysql这是一个很值得学习的例子,已经封装成了一个对象。。,Spring+JMS + Mysql
Spring发送接收JMS消息 文档+例子
spring-jms-5.0.4.RELEASE.jar ;spring-jms-5.0.4.RELEASE.jar