OpenMQ集群在GlassFish中的应用---配置篇

在《OpenMQ集群在GlassFish中的应用---安装篇》中我们完成了OpenMQ集群的建立,接下来介绍一下如何在GlassFish集群中配置和使用OpenMQ集群提供的JMS服务。

首先,按照《GlassFishV2 集群实现》 中的步骤建立一个GlassFish集群环境。

GlassFish集群环境

IP HostName 实例 ClusterID
192.168.1.101 das.localdomain
192.168.1.102 node1.localdomain instance1 cluster1
192.168.1.104 node2.localdomain instance2 cluster1

 

GlassFish集群建立之初,集群中会存在一个默认的JMS主机(default_JMS_host),进入das.localdomain:4848控制台 点击【配置】->【cluster1-config】->【java消息服务】->【JMS主机】

如图:


OpenMQ集群在GlassFish中的应用---配置篇_第1张图片

也可以通过命令来查看cluster1集群中的JMS主机

[root@das glassfish]# bin/asadmin list-jms-hosts cluster1

default_JMS_host
已成功执行命令 list-jms-hosts。

 

设置GlassFish集群JMS服务

 

首先,删除涉及由域管理服务器(das.localdomain)启动的代理的默认 JMS 主机,通过控制台界面点击删除就可以了,也可以通过命令行进行删除。

[root@das glassfish]# bin/asadmin delete-jms-host --target cluster1 default_JMS_host        
已成功执行命令 delete-jms-host。

 

然后在集群中增加我们之前建立的OpenMQ集群中的主机。

【配置】->【cluster1-config】->【java消息服务】->【JMS主机】->【新建】


OpenMQ集群在GlassFish中的应用---配置篇_第2张图片

 

也可通过命令行进行添加

[root@das glassfish]# bin/asadmin create-jms-host --target cluster1 --mqhost mq1.localdomain --mqport 7676 --mquser admin --mqpassword admin broker1

 

[root@das glassfish]# bin/asadmin create-jms-host --target cluster1 --mqhost mq2.localdomain --mqport 7676 --mquser admin --mqpassword admin broker2

 

设置JMS服务类型为REMOTE

【配置】->【cluster1-config】->【java消息服务】


OpenMQ集群在GlassFish中的应用---配置篇_第3张图片

等效的命令行

[root@das bin]# ./asadmin set  cluster1.jms-service.type=REMOTE

 

启动GlassFish集群实例

 

注意:JMS 类型为 Remote 时,务必始终先启动Open MQ 代理,然后再启动GlassFish实例。否则GlassFish将无法启动。

 

地址列表行为 是指实例尝试连接JMS主机列表的行为priority表示顺序连接即尝试连接时总是从主机列表第一个主机开始,random表示随机连接即尝试连接时随机连接主机列表中的主机。

 

当GlassFish集群各个实例启动时会在Open Message Queue主机上打印连接日志,如:

[12/二月/2011:16:39:51 CST] [B1065]: 接受: [email protected]:40013->jms:48539。计数:服务 =1 代理 =1

 

为GlassFish集群增加JMS资源

 

1.创建JMS物理目的地

创建一个名为MyQueue目的地类型为queue队列

【集群】->【cluster1】->【物理目的地】点击【新建】


OpenMQ集群在GlassFish中的应用---配置篇_第4张图片

也可通过在域管理服务器(das.localdomain)上通过命令行增加

[root@das bin]# ./asadmin create-jmsdest --desttype queue --target cluster1 MyQueue

 

JMS主机会输出如下日志:

[12/二月/2011:17:22:26 CST] [B1158]: 管理员已创建目的地 MyQueue [队列]

 

2.创建 JMS 连接工厂

创建一个名为jms/MyConnectionFactory的连接工厂

【资源】->【JMS资源】->【连接工厂】->【新建】


OpenMQ集群在GlassFish中的应用---配置篇_第5张图片
  注意:从页面底部的可用目标列表中选择cluster1群集,然后单击“添加”。


OpenMQ集群在GlassFish中的应用---配置篇_第6张图片

等效的命令行:

[root@das bin]# ./asadmin create-jms-resource --target cluster1 --restype javax.jms.ConnectionFactory jms/MyConnectionFactory

 

已成功执行命令 create-jms-resource。

 

3.创建 JMS 目标资源

创建一个名为jms/MyQueue的目标资源

【资源】->【JMS资源】->【目的地资源】->【新建】


OpenMQ集群在GlassFish中的应用---配置篇_第7张图片
 注意:从页面底部的可用目标列表中选择cluster1群集,然后单击“添加”。


OpenMQ集群在GlassFish中的应用---配置篇_第8张图片

经过以上操作之后,我们的GlassFish集群就可以使用Open Message Queue集群提供的外部JMS服务了,在下面的文章中会编写一个从目标jms/MyQueue读取消息的消息驱动Ben和一个单独向目标发送消息的客户端,来验证我们的集群工作环境。还会对服务可用性和数据可用性做一些说明。敬请期待

你可能感兴趣的:(应用服务器,工作,配置管理,jms,Glassfish)