频道栏目
读书频道 > 数据库 > Oracle > Oracle Fusion Middleware 11g架构与管理
2.6.2 JMS模块
2012-12-13 11:22:45     我来说两句
收藏   我要投稿
本书定位于初级和中级读者。从Fusion Middleware产品知识的角度来看,内容是初级的;但从一般基于Java的企业软件开发知识的角度来看,内容则是中级的。例如,本书假设读者知道Java Enterprise Edition概念,但...  立即去当当网订购

JMS模块包含JMS消息生产者和消费者的客户需要集成的JMS资源。JMS模块的资源不仅定义这些客户使用的目的地,还包含一些配置,用于驱动客户之间消息发送集成的行为。本小节将分析可作为模块的一部分部署的主要资源类型以及它们背后的概念。
1. 连接工厂

连接工厂是JMS模块资源的一种类型,JMS客户用它连接到JMS服务器,以便生产和消费消息。JMS客户通过JNDI查找连接工厂。连接工厂的属性确定它生产的连接的行为,再定义客户从这些连接创建的消息的行为。在连接工厂层可以修改的一些主要属性包括JMS消息服务设置(如永久传递模式)的默认传递质量,默认客户通知策略,通过连接工厂实现的操作是否参与分布式事务,以及使用连接工厂的消息生产者的流程控制算法设置。在默认情况下,每个受管理服务器都配置有两个默认连接工厂,分别使用weblogic.jms.ConnectionFactory和weblogic.jms.XAConnectionFactory JNDI名称进行访问。这两个连接工厂之间的唯一不同是XAConnectionFactory被配置为创建参与分布式JTA事务(与其他XA-aware资源)的连接。还需要注意的是,默认连接工厂的设置不能修改,它们的服务器目标也是固定的。

2. 队列、主题和模板

JMS队列和主题通常也称为“目的地”,是保存生产者发送的消息和等待传递给消费者的消息集合。在JMS模块内可将这两种目的地类型定义为资源。队列遵循点对点传递模型,而传入的消息则总是传递给单个消费者。主题遵循出版/订阅模型,传入的消息被传递给订阅它的所有客户。和连接工厂一样,客户通过JNDI查找JMS目的地。目的地的主要配置参数是阀值、限额和传递失败设置。2.6.1小节已经介绍了前两个参数。目的地的传递失败设置确定服务器重新传递消息的次数,在重新传递过程中进行尝试的次数,以及最后保存消息的备用目的地(也称为错误目的地)的名称,因为重新传递尝试的次数用完之后就不能再进行重新传递。

JMS模板是另一种JMS模块资源类型,它能够定义配置,可以基于它新创建目的地。JMS客户通常使用模板动态创建临时目的地,以便将这类客户需要指定的配置层减到最小。

3. JMS模块类型和定位

和JDBC模块一样,WebLogic Server也提供应用程序范围内和系统范围内的JMS模块。应用程序范围内模块的配置被嵌入特定应用程序部署存档文件内。而系统范围内的JMS模块在域层定义,其配置包含在DOMAIN_ HOME/config/jms目录里,并从域的config.xml目录引用。相对于应用程序范围内的模块而言,系统范围内的模块可通过JMX访问,并且在最初创建之后可以用新资源扩展它。在部署时修改各种类型模块配置的方法也不同,因为对于系统范围内的模块而言,这种修改需要在JMX和/或WLST层完成,而对于应用程序范围内的模块则需要使用部署计划。

必须将JMS模块的资源定位到WebLogic Server实例或特定JMS服务器,JMS目的地资源只能定位到JMS服务器。可以以不同方式定位模块内的每个资源。实现方式就是通过子部署。子部署在JMS模块层定义,它标识JMS模块资源的潜在目标。因此,模块资源可与定位它们的特定子部署相关联。这种定位机制如图2-7中虚线箭头所示。

4. 外部JMS服务器

外部JMS服务器资源可指向外部第三方JMS提供者,允许在服务器本地JNDI树内访问JMS资源(连接工厂和目的地),因此也能够与第三方JMS提供者集成。外部服务器有自己的相关连接工厂和目的地,每个都有一个本地JNDI名称(在本地服务器上运行的客户使用该JNDI名称)和一个远程JNDI名称(在外部服务器的JNDI树中,本地JNDI名称映射该JNDI名称)。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.6.1 JMS服务器
下一篇:2.7.1 连接和端口管理
相关文章
图文推荐
排行
热门
最新书评
文章
下载
读书
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站