`
Technoboy
  • 浏览: 156739 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Spring JMS (3)

阅读更多
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代理对象。

分享到:
评论
22 楼 Technoboy 2011-04-10  
xiaoyuqi00 写道
JMS还没涉及到,但提前了解下

你们用什么?
21 楼 kimmking 2011-04-09  
最近在做activemq相关的调优和性能测试。
20 楼 xiaoyuqi00 2011-04-09  
JMS还没涉及到,但提前了解下
19 楼 javaliver 2011-04-09  
Technoboy 写道
C_J 写道
JMS还有推拉的概念么?

JMS的消息模型不是P2P & PUB/SUB

kimmking说的推拉不是jms

那是?
18 楼 Technoboy 2011-04-09  
C_J 写道
JMS还有推拉的概念么?

JMS的消息模型不是P2P & PUB/SUB

kimmking说的推拉不是jms
17 楼 C_J 2011-04-09  
JMS还有推拉的概念么?

JMS的消息模型不是P2P & PUB/SUB
16 楼 skzr.org 2011-04-08  
楼主可以做一个spring的jms包装后的性能测试不?
非常期待 ^ ^
15 楼 Technoboy 2011-04-08  
nick.s.ni 写道
C_J 写道
异步能理解,推我没明白。

拉就是客户端主动连接服务器端做操作,推 就是服务器端发送信息给客户端,客户端被动接收,当然前提是客户端保持接收状态。推的话有点像在拉的情况下的轮询的效果。

哈哈...
14 楼 nick.s.ni 2011-04-08  
C_J 写道
异步能理解,推我没明白。

拉就是客户端主动连接服务器端做操作,推 就是服务器端发送信息给客户端,客户端被动接收,当然前提是客户端保持接收状态。推的话有点像在拉的情况下的轮询的效果。
13 楼 C_J 2011-04-08  
异步能理解,推我没明白。
12 楼 nick.s.ni 2011-04-07  
kimmking 写道
C_J 写道
没用过Spring实现的JMS,回翻了之前的资料,也没找到关于JMS的资料。

JMS产品适用于代码复杂度要求不高,传输效率较好的情景?
相对WS,RMI,Socket等其他解决方案

一般 用于 对消息可靠性要求较高的地方。


应该说是异步和"推",我是用来服务器端对客户端的通知和不同的程序通讯,例如JAVA 和 PL/SQL
11 楼 nick.s.ni 2011-04-07  
Technoboy 写道
kimmking 写道
Technoboy 写道
kimmking 写道
Technoboy 写道
kimmking 写道
很感兴趣,能不能详细点,或者有点深度。

终于把kimmking惹怒了...

没怒,我挺感兴趣的,spring-JMS我们也在用。

我们是spring+mq

spring-jms 封装了一些jms的壳。

什么mq? websphere mq,activemq,jboss,rabbit,sonic,openMQ,。。。

activemq

我们这好像是叫AQ ,MQ 是说 openMQ
10 楼 Technoboy 2011-04-07  
kimmking 写道
Technoboy 写道
kimmking 写道
Technoboy 写道
kimmking 写道
很感兴趣,能不能详细点,或者有点深度。

终于把kimmking惹怒了...

没怒,我挺感兴趣的,spring-JMS我们也在用。

我们是spring+mq

spring-jms 封装了一些jms的壳。

什么mq? websphere mq,activemq,jboss,rabbit,sonic,openMQ,。。。

activemq
9 楼 kimmking 2011-04-07  
Technoboy 写道
kimmking 写道
Technoboy 写道
kimmking 写道
很感兴趣,能不能详细点,或者有点深度。

终于把kimmking惹怒了...

没怒,我挺感兴趣的,spring-JMS我们也在用。

我们是spring+mq

spring-jms 封装了一些jms的壳。

什么mq? websphere mq,activemq,jboss,rabbit,sonic,openMQ,。。。
8 楼 Technoboy 2011-04-07  
kimmking 写道
Technoboy 写道
kimmking 写道
很感兴趣,能不能详细点,或者有点深度。

终于把kimmking惹怒了...

没怒,我挺感兴趣的,spring-JMS我们也在用。

博客里前面两节的内容
7 楼 Technoboy 2011-04-07  
kimmking 写道
Technoboy 写道
kimmking 写道
很感兴趣,能不能详细点,或者有点深度。

终于把kimmking惹怒了...

没怒,我挺感兴趣的,spring-JMS我们也在用。

我们是spring+mq
6 楼 C_J 2011-04-07  
看来我猜测没错。
一个高可靠性的Socket实现。
5 楼 kimmking 2011-04-07  
C_J 写道
没用过Spring实现的JMS,回翻了之前的资料,也没找到关于JMS的资料。

JMS产品适用于代码复杂度要求不高,传输效率较好的情景?
相对WS,RMI,Socket等其他解决方案

一般 用于 对消息可靠性要求较高的地方。
4 楼 C_J 2011-04-07  
没用过Spring实现的JMS,回翻了之前的资料,也没找到关于JMS的资料。

JMS产品适用于代码复杂度要求不高,传输效率较好的情景?
相对WS,RMI,Socket等其他解决方案
3 楼 kimmking 2011-04-07  
Technoboy 写道
kimmking 写道
很感兴趣,能不能详细点,或者有点深度。

终于把kimmking惹怒了...

没怒,我挺感兴趣的,spring-JMS我们也在用。

相关推荐

    SpringJMS示例代码

    SpringJMS是Spring框架的一部分,它提供了一种与Java消息服务(JMS)进行交互的简单方式。在本文中,我们将深入探讨SpringJMS的基本概念、如何与ActiveMQ集成,以及如何通过示例代码理解其工作原理。 1. **Spring...

    spring_jms

    Spring JMS(Java Message Service)是Spring框架的一部分,专门用于集成JMS消息传递系统,以实现异步通信和解耦应用程序组件。在这个入门级实例中,我们将探讨如何使用Maven、Spring和ActiveMQ来构建一个简单的...

    SpringJMS整合ActiveMQ

    详细内容: SpringJMS整合ActiveMQ.doc 详细说明文档 apache-activemq-5.8.0-bin.zip ActiveMQ安装包 JMSTest.rar MyEclipse8.5下web工程

    spring-jms入门

    Spring-JMS是Spring框架的一部分,专门用于处理Java消息服务(JMS)的集成。它提供了一个简单的API,使得开发者能够方便地在应用中使用消息传递功能。本文将深入探讨Spring-JMS的基础知识,包括它的核心概念、配置...

    springjms的demo

    Spring对JMS提供了很好的支持,可以通过JmsTemplate来方便地实现消息服务。本例通过activeMQ服务器模拟了消息的发送与接收。需要注意的是,activeMQ的运行依赖jdk的环境,而且对jdk的版本也有要求,我用的是jdk1.6+...

    Java网络编程--基于Spring的JMS编程

    3. **事务支持**:Spring允许开发者将JMS操作与数据库事务结合,确保在分布式环境中的数据一致性。通过`PlatformTransactionManager`接口,可以配置JMS事务与Spring的其他事务管理器协同工作。 4. **消息转换**:...

    spring-jms 源代码包

    spring-jmsspring-jmsspring-jmsspring-jmsspring-jmsspring-jms

    spring-jms源码

    《深入解析Spring JMS源码》 Spring JMS(Java Message Service)是Spring框架的一部分,它为Java消息传递提供了一种轻量级的抽象层,使得开发者能够方便地在应用程序中使用JMS。Spring JMS提供了对JMS API的高度...

    JMS整合Spring实例

    **JMS整合Spring实例** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它允许应用程序创建、发送、接收和读取消息,以此来解耦生产者和消费者。而Spring框架...

    spring-jms-4.3.4.RELEASE.zip

    3. **高可用性和容错**:消息中间件如ActiveMQ、RabbitMQ等,结合Spring JMS,可以构建高可用和故障切换的系统。 综上所述,Spring JMS 4.3.4.RELEASE为开发者提供了一套完整的JMS集成方案,通过抽象和封装JMS API...

    Spring JMS

    Spring JMS Spring JMS 是一个基于 Java 消息服务(JMS)的框架,它提供了一个简洁的方式来使用 JMS API。Spring JMS 框架提供了一个抽象层,简化了 JMS 的使用,使得开发者可以更容易地使用 JMS。 Spring JMS 的...

    jms整合spring工程

    本项目"jms整合spring工程"是一个已经准备就绪的Java工程,它展示了如何在Spring框架中集成JMS,以便利用消息队列进行通信。主要依赖的是Apache ActiveMQ,这是一款流行的开源JMS提供者,能够实现高效、可靠的实时...

    spring jms 整合 weblogic jms

    本人开发的spring jms项目,已经上线近一年了,这里是我项目jms配置文件,使用的是spring jms 整合weblogic jms。如果真的需要,请咨询我,并且附上我上传的这个配置文件,附近中没有带有这个文件,一律不作任何回答...

    spring整合jms+activemq

    在IT行业中,Spring框架是Java领域最广泛应用的轻量级框架之一,而JMS(Java Message Service)则是一种标准接口,用于在分布式系统中进行异步消息传递。ActivemQ是Apache软件基金会的一个项目,它实现了JMS规范,...

    Spring JMS 消息处理-基于JNDI

    3. **JNDI配置**:这部分将详细阐述如何在应用服务器中创建JNDI资源,以及如何在Spring配置中使用`jee:jndi-lookup`标签进行查找。 4. **消息监听器**:Spring JMS支持声明式和编程式的消息监听器。博客会展示如何...

    spring-jms-4.3.12.RELEASE-API文档-中英对照版.zip

    赠送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把企业消息处理变容易.doc

    Spring JMS 是一个强大的框架,它极大地简化了Java企业级消息处理。它通过提供一套抽象和模板类,使得开发者能够更加便捷地使用Java消息服务(JMS),并与各种JMS提供者,如IBM的WebSphere MQ进行集成。本文将深入...

    Spring JMS使异步消息变得简单.doc

    【Spring JMS】是Spring框架中的一个模块,用于简化Java消息服务(JMS)的使用,使得异步消息处理变得更加简单和灵活。Spring JMS通过提供一个模板类,抽象了JMS API的底层细节,让开发者能够更加专注于消息的处理...

    spring jms 3.2

    spring jms jar包

    Spring发送接收JMS消息

    **Spring与JMS消息传递** 在Java世界中,Java Message Service (JMS) 是一个标准接口,用于在分布式环境中发送和接收消息。Spring框架提供了一种简单而强大的方式来集成JMS,使得开发者可以轻松地在应用中实现异步...

Global site tag (gtag.js) - Google Analytics