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

本文介绍如何在GlassFish集群环境中配置并使用OpenMQ集群提供的JMS服务,包括删除默认JMS主机、添加OpenMQ集群主机、设置JMS服务类型、启动集群实例及创建JMS资源等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

GlassFish集群环境

IP HostName 实例 ClusterID
192.168.1.101das.localdomain
192.168.1.102node1.localdomaininstance1cluster1
192.168.1.104node2.localdomaininstance2cluster1

 

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

如图:


也可以通过命令来查看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主机】->【新建】


 

也可通过命令行进行添加

[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消息服务】


等效的命令行

[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]: 接受: guest@192.168.1.102:40013->jms:48539。计数:服务 =1 代理 =1

 

为GlassFish集群增加JMS资源

 

1.创建JMS物理目的地

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

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


也可通过在域管理服务器(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资源】->【连接工厂】->【新建】



  注意:从页面底部的可用目标列表中选择cluster1群集,然后单击“添加”。


等效的命令行:

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

 

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

 

3.创建 JMS 目标资源

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

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



 注意:从页面底部的可用目标列表中选择cluster1群集,然后单击“添加”。


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值