配置JMS
在管理控制台中可以配置JMS的以下属性:
ü 启用JMS
ü 创建JMS服务器
ü 创建或定制JMS服务器、连接工厂、收信方(队列与主题)、收信方模板、 收信方主键、备份库、会话池、连接使用者。
ü 建立客户JMS应用。
ü 定义极限和配额(TBD)
ü 启用需要的JMS特性,如服务器集群(见下节),并发消息处理,收信方的排序,以及消息的持久化。
有一些WebLogic JMS属性有缺省值,而其它属性需要配置。如果没有正确配置这些属性,那么重启时,WebLogic服务器不会启动JMS。WebLogic产品中有一个JMS配置示例。
当你从老版本迁移到6.1版本时,WebLogic服务器会自动转换配置信息。你可以参见“WebLogic JMS编程指南”的“应用移植”部分的说明。
以下是配置WebLogic JMS属性的步骤:
1.启动管理控制台。
2.在左窗格中选择“Services”下面的“JMS”按钮把列表展开。
3.按照以下内容或管理控制台在线帮助中所描述的步骤来创建及配置JMS对象。
配置完WebLogic JMS后,应用程序可以开始用JMS API发送或接收消息。关如何开发WebLogic JMS应用的更多信息,请见“WebLogic JMS编程指南”。
注意:“WebLogic JMS编程指南”提供了一个JMS属性配置列表,你可以参照这个表来规划WebLogic JMS的配置。
配置连接工厂
JMS客户端可以通过连接工厂(Connection factory)创建JMS连接。连接工厂根据预先定义的属性来创建连接。
用管理控制台配置连接工厂的步骤如下:
ü 需要配置的属性包括:
1.连接工厂的名字
2.连接工厂的JNDI名字。
3.长期订阅方客户端标识 (Client ID) (关于长期订阅方的更多内容, 请参考“WebLogic JMS编程”)
4.消息传递的缺省属性(即:优先级、存活期及模式)
5. 异步会话的最大重要消息数与过载策略(即消息数达到该最大值时,广播会话将采取的行动)。
6. 是否允许在onMessage()方法中调用close()方法
7. 事务属性(事务超时以及是否可以使用JTA用户事务)
ü 连接工厂关联的目标服务器(WebLogic Servers),用以支持集群。可以用目标服务器限制需要部署连接工厂的服务器、组,或者集群。
WebLogic JMS定义了一个缺省的连接工厂:weblogic.jms.ConnectionFactory。该连接工厂的所有配置属性都使用缺省值。管理控制台在线帮助的“JMS连接工厂”描述了配置属性的缺省值。
如果缺省连接工厂能满足应用的需求,就不需要为应用配置其它连接工厂。
注意:如果用用缺省的连接工厂,那么你不能控制连接工厂将部署到哪个JMS服务器上。如果希望把连接工厂部署到一特定的JMS服务器上,那么需要新建一个连接工厂,然后把它部署到这个JMS服务器上。
有关创建与配置连接工厂的说明,可以参考管理控制台在线帮助中的“JMS连接工厂”。
某些连接工厂属性可以动态配置。如果在运行时改变了动态属性的值,那么新配置只对新连接有效而不影响已经建立的连接。
配置模板
可以用模板定义多个具有相似属性设置的收信方(destination)。使用模板有以下好处:
ü 在定义新的收信方时,不需要设置所有的属性。你可以先使用模板,然后覆盖那些需要重新设置的属性。
ü 如果要动态改变共享的属性设置,仅需修改模板。
收信方模板的属性在管理控制台的“Templates”节点设置。收信方模板的属性与收信方相同。通常收信方会继承所使用的收信方模板的属性配置,但不包括以下情况:
ü 如果使用了模板的收信方重新设置了某个属性,那么新值有效。
ü 收信方不会继承收信方模板的Name属性,因为Name属性只对收信方模板有效。每个收信方必须明确定义一个唯一的名字。
ü 收信方模板没有定义JNDI Name, Enable Store以及Template属性。
ü 收信方模板没有定义Multicast 属性,因为该属性只对主题(topics)有效。
任何没有被明确设置的收信方属性使用缺省值。如果一个属性没有缺省值,那么必须为收信方模板或收信方设置这个属性的值。如果没有设置,那么不完整的配置信息将导致WebLogic JMS配置失败,从而使WebLogic JMS不能启动。
有关如何创建与配置模板的详细信息,可以参考管理控制台在线帮助的“JMS 模板”。
配置收信方主键
收信方的的排序方式用收信方主键(Destination Key)来定义。
在管理控制台的Destination Keys节点中,配置收信方主键的以下属性:
ü 收信方主键的名字
ü 用来排序的属性名
ü 主键的类型
ü 排序的方向(升序还是降序)
有关如何创建与配置收信方主键的详细信息,可以参考管理控制台在线帮助中的“JMS收信方主键”。
配置备份库
备份库(Backing Store)由文件或数据库构成,用于消息的持久保存。
JMS通过JDBC把消息保存在数据库中或从数据库访问持久化的消息。JMS数据库可以是任何可以用JDBC驱动访问的数据库。WebLogic支持并提供以下数据库的JDBC驱动程序。
ü Cloudscape
ü Informix
ü Microsoft SQL(MSSQL) Server(6.5或7版)
ü Oracle(8.1.6版)
ü Sybase(12版)
你可以用ACL限制JDBC连接池的使用。在ACL中加入WebLogic系统用户以及任何需要发送JMS消息的用户。详细内容,参见《WebLogic管理指南》的“安全管理”部分。
注意:WebLogic的JMS例子被设置为使用Cloudscape Java数据库。WebLogic服务器提供了该数据库的评估版本以及一个demoPool数据库。
要创建一个文件或数据库备份库,需要在管理控制台的Store节点下设置以下属性:
ü 备份库的名字
ü 文件备份库所在的目录(对于文件存储库而言)。
ü JDBC连接池以及用于多实例的数据库表名前缀(相对于JDBC数据库备份库而言)。
有关如何创建及配置文件备份库与数据库备份库的信息,请分别参见管理控制台在线帮助中的“JMS 文件存储器”以及“JMS JDBC 存储器”中的内容。
注意:随着存储的消息增多,使用JMS备份库会增加WebLogic服务器对内存的需求。在重新启动WebLogic 服务器时,可能会因为内存不足而造成启动失败,这时就需要根据JMS备份库中的消息数量来增加虚拟机中堆的大小,然后重新启动WebLogic服务器。
配置JMS服务器
JMS服务器管理连接以及用户的消息请求。
创建JMS服务器前,需要在管理控制台的“Servers”节点中定义以下内容:
ü 配置属性:
1.JMS服务器的名字
2.保存消息的备份库(文件类型的或JDBC数据库型的)。如果没有设置备份库,那么服务器不支持消息的持久化。
3.用来创建临时收信方的模板,临时收信方可以是临时队列也可以是临时主题。
4.消息数量和尺寸的极限和配额 (最大数量,上下限)(TBD)
ü JMS服务器所关联的目标服务器(WebLogic服务器)用以支持集群。通过目标服务器可以限制要部署JMS服务器的服务器集、组或/以及集群。
注意:部署JMS服务器与部署连接工厂或模板不一样。一个JMS服务器只能部署在一个服务器上,而连接工厂与模板可以同时在多个服务器上实例化。
有关如何创建以及配置JMS服务器的内容,请参见管理控制台在线帮助的“JMS服务器”部分。
配置收信方
一个收信方(Destination)就是一个队列(Queue)或一个主题(Topic),定义完JMS服务器后,可以定义该服务器的收信方。一个JMS服务器可以配置多个收信方。
可以直接定义收信方,也可以通过模板生成收信方。前面讲过,收信方模板用来定义具有相似配置的收信方。
你可以在管理控制台的Destiation节点直接配置收信方。以下是需要配置的属性:
ü 收信方的名字与类型(队列或主题)
ü 收信方的JNDI名字
ü 是否用备份库保存持久化消息
ü 用来创建收信方的模板
ü 定义收信方排序的主键
ü Thresholds and quotas for messages and bytes(maximum number, and high and low thresholds)(TBD)
ü 可以被重载的属性(如优先级,存活期(time-to-live),以及传递模式)
ü 广播属性,包括广播地址,端口与存活期(指对主题有意义)。
有关如何创建与配置收信方的内容,可以参见管理控制台在线帮助的“JMS Destiantion”。
某些收信方属性可以动态配置。在运行时所改变的属性配置,只影响以后的消息会受影响,原来的消息不受影响。
配置会话池
通过会话池(Session Pool),应用可以并发地处理消息。定义了JMS服务器后,就可以设置会话池。可以为每个JMS服务器配置一或多个会话池。
你可以用管理终端的Session Pools节点来定义以下属性:
ü 会话池的名字。
ü 会话池所关联的连接工厂。连接工厂用于创建会话。
ü 用于并发接收及处理消息的消息监听类。
ü 事务属性(确认模式以及是否允许会话池创建事务性会话))
ü 最大并发事务数
有关创建及配置会话池的内容,请参见管理控制台在线帮助的“JMS会话池”部分。
某些会话池属性可以动态设置,但只有重启会话池后新设置才会生效。
配置连接使用者
连接使用者(Connection Consumer)获得服务器会话并对消息进行处理。在定义了会话池后,你可以配置该会话池的连接使用者。可以为每个会话池定义一或多个连接使用者。你可以在管理管理控制台的“Session Pools”节点来配置连接使用者的以下属性:
ü 连接使用者的名字
ü 连接使用者可以收集的最大消息数
ü 过滤消息的JMS选择器表达式(selector expression),有关选择器表达式的信息,请参见“WebLogic JMS编程指南”中的相关内容。
ü 连接使用者所监听的收信方
有关创建及配置连接使用者的详细内容,请参见管理控制台在线帮助的“JMS连接使用者”部分。