锁定老帖子 主题:Spring JMS (3)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-07
最后修改:2011-04-07
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代理对象。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-04-07
很感兴趣,能不能详细点,或者有点深度。
|
|
返回顶楼 | |
发表时间:2011-04-07
kimmking 写道 很感兴趣,能不能详细点,或者有点深度。
终于把kimmking惹怒了... |
|
返回顶楼 | |
发表时间:2011-04-07
Technoboy 写道 kimmking 写道 很感兴趣,能不能详细点,或者有点深度。
终于把kimmking惹怒了... 没怒,我挺感兴趣的,spring-JMS我们也在用。 |
|
返回顶楼 | |
发表时间:2011-04-07
最后修改:2011-04-07
没用过Spring实现的JMS,回翻了之前的资料,也没找到关于JMS的资料。
JMS产品适用于代码复杂度要求不高,传输效率较好的情景? 相对WS,RMI,Socket等其他解决方案 |
|
返回顶楼 | |
发表时间:2011-04-07
C_J 写道 没用过Spring实现的JMS,回翻了之前的资料,也没找到关于JMS的资料。
JMS产品适用于代码复杂度要求不高,传输效率较好的情景? 相对WS,RMI,Socket等其他解决方案 一般 用于 对消息可靠性要求较高的地方。 |
|
返回顶楼 | |
发表时间:2011-04-07
看来我猜测没错。
一个高可靠性的Socket实现。 |
|
返回顶楼 | |
发表时间:2011-04-07
kimmking 写道 Technoboy 写道 kimmking 写道 很感兴趣,能不能详细点,或者有点深度。
终于把kimmking惹怒了... 没怒,我挺感兴趣的,spring-JMS我们也在用。 我们是spring+mq |
|
返回顶楼 | |
发表时间:2011-04-07
kimmking 写道 Technoboy 写道 kimmking 写道 很感兴趣,能不能详细点,或者有点深度。
终于把kimmking惹怒了... 没怒,我挺感兴趣的,spring-JMS我们也在用。 博客里前面两节的内容 |
|
返回顶楼 | |
发表时间:2011-04-07
Technoboy 写道 kimmking 写道 Technoboy 写道 kimmking 写道 很感兴趣,能不能详细点,或者有点深度。
终于把kimmking惹怒了... 没怒,我挺感兴趣的,spring-JMS我们也在用。 我们是spring+mq spring-jms 封装了一些jms的壳。 什么mq? websphere mq,activemq,jboss,rabbit,sonic,openMQ,。。。 |
|
返回顶楼 | |