在《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主机】
如图:
也可以通过命令来查看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和一个单独向目标发送消息的客户端,来验证我们的集群工作环境。还会对服务可用性和数据可用性做一些说明。敬请期待
- 大小: 7.3 KB
- 大小: 10.1 KB
- 大小: 19.9 KB
- 大小: 7.4 KB
- 大小: 6.7 KB
- 大小: 5.2 KB
- 大小: 9.1 KB
分享到:
相关推荐
本文将详细介绍OpenMQ的基本管理命令,包括安装、集群配置、管理命令以及查看和操作队列与主题。 首先,让我们从安装开始。在Linux系统上安装OpenMQ时,通常需要下载安装文件,如`openmq4_3-installer-Unix.zip`,...
OpenMQ,全称为Java Message Service (JMS) 提供商,是Oracle公司的一款开源消息中间件,用于在分布式系统中传递消息。OpenMQ 4.4.2是该软件的一个特定版本,它提供了稳定且高性能的消息传递服务。在这个版本中,...
标题中的"habari-openmq-20190131-src.zip"表明这是一个源代码压缩包,发布日期为2019年1月31日,名为“habari”的项目,它与OpenMQ相关。OpenMQ是Oracle的开源消息中间件,用于处理应用程序之间的消息传递,提供...
这些依赖关系详细记录在《Sun Java System Message Queue 4.3 发布说明》中的“组件依赖性”部分,请在安装 OpenMQ 4.3 之前检查这些软件依赖项。 #### 硬件需求 为了安装 OpenMQ 4.3,您的系统应满足以下各节规定...
在实际应用中,OpenMQ还可能与其他系统集成,如应用服务器、数据库等,这时可能需要额外的依赖包。同时,开发者也需要关注OpenMQ的配置,如设置消息存储、安全性、性能优化等,这些都是基于这些基础依赖包之上实现的...
habari-openmq-6.1-installer.exe
glassfish食谱将安装和配置GlassFish应用程序服务器以及与GlassFish应用程序服务器捆绑在一起的OpenMQ消息代理。 该菜谱还定义了用于创建和配置GlassFish应用程序域和OpenMQ代理实例的资源。 项目中提供了一个带有...
在`openmq-master`这个压缩包文件中,可能包含了OpenMQ的源代码、构建脚本、文档和其他资源。你可以通过查阅这些文件来深入了解OpenMQ的内部工作原理,学习如何配置和部署OpenMQ服务器,以及如何编写使用JMS的Java...
然而,Sun的OpenMQ作为一种同样强大的消息中间件解决方案,在特定场景下也有着广泛的应用。OpenMQ是Sun Java System Message Queue的一个开源版本,拥有企业级、可扩展性以及成熟稳定的特点。它提供了一套完整的JMS...
- OpenMQ:对于非Java应用,可以通过Open Message Client (OMC) 进行集成。 - SDK支持:还有Python、Go、.NET等多种语言的SDK可供选择。 6. **管理工具**: - RocketMQ提供的管理工具可以帮助监控、管理和调试...
这些系统在企业级应用中扮演着重要的角色,用于解耦服务、提高系统的可扩展性以及保证消息的可靠传输。 #### 支持的协议对比 | MQ系统 | 支持的协议 | |----------|-------------------------------------| | ...
为 OpenMQ (GlassFish JMS) / Oracle WebLogic MQ 开发基于队列消息管理 gui 的工具。 工具名称为 QBrowserV2。 它旨在实现新消息创建/发送、删除消息、转发消息、订阅主题等功能。
在传送过程中,系统处理JMS消息分为以下两类: ■ 有效负荷消息,由生成方发送给使用方的消息。 ■ 控制消息,代理与客户端运行时环境之间传送的私有消息,用于确保有效负荷消息成功传送和控制跨连接的消息流。 ...
课程内容可能涵盖了ActiveMQ的基本概念、配置、使用示例、高级特性,以及如何在实际项目中应用ActiveMQ进行系统间通信和解耦。 5. **消息中间件之ActiveMQ.mmap** "mmap"文件可能是一个内存映射文件,用于快速读取...
- **ZeroMQ**不支持负载均衡,这可能会限制其在高负载环境中的应用。 **12. 管理界面** - **RabbitMQ**提供了较好的管理界面,这对于监控和管理MQ系统的运行状态非常有帮助。 - 其他MQ产品如**ActiveMQ**和**...
4. **轻量级框架**:RocketMQ的客户端库小巧,易于集成到各种应用中,同时提供了丰富的API,开发者可以快速上手并实现复杂的消息处理逻辑。 5. **灵活性**:RocketMQ支持多种部署模式,如集群模式、广播模式等,...
**MQ**,即**Message Queue**(消息队列),是一种在分布式系统中实现进程间通信的技术。消息队列本质上是一个先进先出(FIFO)的数据结构,用于存储消息直到被消费。这种技术允许不同组件之间解耦,提高系统的灵活...
消息队列是一种应用系统之间进行异步通信的中间件,它的核心功能是实现不同应用之间的信息传递,它在软件工程中常用于解耦服务、提高系统伸缩性以及保证消息传递的可靠性和顺序性。在当今分布式系统架构中,消息队列...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息中间件协议(Open Message Broker API,简称OpenMQ API),提供高性能、可伸缩、可靠的消息传递服务。API文档是开发者理解和使用ActiveMQ的关键...
这使得用Rust编写的程序可以与消息队列服务进行交互,例如ActiveMQ,RabbitMQ,HornetQ和OpenMQ。 连接订阅发送确认(自动/客户端/客户端个人)交易收据断开心跳信号踩踏程序的API尚不稳定,并且可能在v1.0之前波动...