版本号:hornetq-2.2.14.Final
1. 修改启动脚本 bin/run.sh
a. 将 if [ a"$1" = a ]; then CONFIG_DIR=$HORNETQ_HOME/config/stand-alone/non-clustered;
改为:if [ a"$1" = a ]; then CONFIG_DIR=$HORNETQ_HOME/config/stand-alone/clustered;
b. 打开注释符号并设置正确的 honetq 所在的 ip 地址
export CLUSTER_PROPS="-Djnp.port=1099 -Djnp.rmiPort=1098 -Djnp.host=192.168.1.100
-Dhornetq.remoting.netty.host=192.168.1.100 -Dhornetq.remoting.netty.port=5445"
2. 修改停止脚本 bin/stop.sh
if [ a"$1" = a ]; then CONFIG_DIR=$HORNETQ_HOME/config/stand-alone/non-clustered;
修改为:if [ a"$1" = a ]; then CONFIG_DIR=$HORNETQ_HOME/config/stand-alone/clustered;
3.配置消息转储存 config/stand-alone/clustered/hornetq-configuration.xml
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>104857600</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>PAGE</address-full-policy>
<redistribution-delay>0</redistribution-delay>
</address-setting>
</address-settings>
a. <max-size-bytes>104857600</max-size-bytes> 消息队列使用 100MB 内存存储消息
b. <page-size-bytes>10485760</page-size-bytes> 如果内存用完将消息写入文件,文件大小为 10MB
c. <address-full-policy>PAGE</address-full-policy> 内存用完后的策略是将消息转储到文件
4. 配置消息再分配 config/stand-alone/clustered/hornetq-configuration.xml
<cluster-connections>
<cluster-connection name="my-cluster">
<address>jms</address>
<forward-when-no-consumers>false</forward-when-no-consumers>
<max-hops>1</max-hops>
<discovery-group-ref discovery-group-name="dg-group1"/>
</cluster-connection>
</cluster-connections>
a. <forward-when-no-consumers>false</forward-when-no-consumers> 消息不发往没有接收者的服务器
节点
b. <max-hops>1</max-hops> 消息再分配时候最多能跨越几个节点
<address-settings>
<address-setting match="#">
<redistribution-delay>0</redistribution-delay>
</address-setting>
</address-settings>
c. <redistribution-delay>0</redistribution-delay>
队列最后一个接收者关闭后需要等待多长时间再将消息重新分配(毫秒)
5. 消费者零接收缓冲 hornetq-jms.xml
<connection-factory name="ConnectionFactory">
<connectors>
<connector-ref connector-name="netty-connector"/>
</connectors>
<entries>
<entry name="ConnectionFactory"/>
</entries>
<consumer-window-size>0</consumer-window-size>
</connection-factory>
<consumer-window-size>0</consumer-window-size>消费者零接收缓冲
6.开监控权限
<security-settings>
<security-setting match="#">
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="send" roles="guest"/>
</security-setting>
<security-setting match="jms.queue.hornetq.management">
<permission type="manage" roles="guest" />
</security-setting>
</security-settings>
7.spring 通过广播查找 hornetq 集群服务器
<bean id="transportConfiguration" class="org.hornetq.api.core.DiscoveryGroupConfiguration">
<constructor-arg index="0" value="231.7.7.7" />
<constructor-arg index="1" value="9876" />
</bean>
相关推荐
总结,HornetQ集群配置是构建高可用和可扩展消息系统的有效方式。通过主主集群和UDP广播,我们可以实现高效、稳定的节点间通信和数据复制。在实际操作中,还需要关注网络环境、复制策略选择以及集群监控等多方面因素...
HornetQ是一款由JBoss开发并维护的消息中间件,它具备高度的可扩展性和灵活性,能够支持集群部署以及多种消息传递协议。HornetQ不仅完全支持JMS(Java Message Service)标准,还提供了自身定制的消息API,从而能够...
HornetQ是一款开源的消息中间件,它在Java消息服务(JMS)规范下提供高效、可伸缩、高可用性的消息传递功能。HornetQ的设计目标是为各种规模的应用提供灵活、高性能且易于使用的消息传递解决方案。下面将详细探讨...
通过编辑`configuration/hornetq.config.xml`,可以定制HornetQ的行为,如设置持久化存储、集群配置、传输协议、安全策略等。 **5. 使用HornetQ** 开发者可以通过JMS API创建生产者和消费者,与HornetQ服务器进行...
5. **集群与高可用性**:介绍如何配置HornetQ集群,实现消息的负载均衡和故障转移。 6. **安全性**:详细阐述HornetQ的安全配置,包括用户认证、授权和加密通信。 7. **监控与管理**:讲解如何通过JMX或Web管理界面...
HornetQ 2.4.0 是一款轻量级且高效的开源消息中间件(Message Queuing,简称MQ),它提供了可靠的消息传递服务,适用于分布式系统中的数据通信。这款MQ解决方案设计目标是高吞吐量、低延迟以及可扩展性,使得在大...
- **4.6.5 AMQP**:高级消息队列协议,提供了一种开放标准的消息中间件协议。 ##### 4.7 高可获得性(AVAILABILITY) 为了确保服务的连续性和稳定性,HornetQ提供了高可用性(HA)特性,如集群和故障转移。 ##### ...
什么是HornetQ? * HornetQ 是一个开源的软件项目。它的目标是一个多协议、可嵌入、高性能、可集群的异步消息系统。... 还可以非常灵活地配置消息路由。 * 请访问 wiki 来全面了解HornetQ的所有功能介绍。
【标题】"hornetq-journal-2.3.19.Final.zip" 提供的是HornetQ消息中间件的一个组件——Journal模块的特定版本。HornetQ是JBoss社区开发的一个高性能、可扩展且功能丰富的开源消息传递系统,它被广泛用于企业级应用...
4. 灵活性:HornetQ 具有广泛的配置选项,允许开发者根据应用需求定制消息传递的行为,如设置不同的消息传输策略、选择不同类型的队列和主题等。 5. 支持多种协议:除了JMS,HornetQ 还支持STOMP(简单文本面向消息...
7. **集群配置**:如何设置和管理HornetQ集群,实现消息的高可用性和容错性。 8. **监控与管理**:介绍HornetQ的管理工具和API,用于监控服务器状态和操作。 9. **故障排查**:提供常见问题的解决方案和故障排查步骤...
HornetQ是一款高性能、轻量级的开源消息中间件,它提供了一种高效、可靠的消息传递机制,广泛应用于分布式系统中的异步通信。Java消息服务(JMS)是Java平台中用于企业级消息传递的标准API,而HornetQ提供了对JMS的...
HornetQ是一款开源的消息中间件,它在Java消息服务(JMS)规范下提供高效、可扩展且可靠的异步通信解决方案。HornetQ以其高性能、低内存占用和丰富的特性集而闻名,广泛应用于分布式系统和企业级应用中。 在...
HornetQ是一款高性能、开源的消息中间件,它在Java消息服务(JMS)领域扮演着重要角色。HornetQ浏览器,顾名思义,是专为管理和监控HornetQ消息队列而设计的工具,使得开发者和系统管理员能够直观地查看和操作队列中...
HornetQ是一款开源的消息中间件,它在Java消息服务(Java Message Service,简称JMS)规范下工作,提供高效、可靠且可扩展的消息传递功能。在这个“hormq学习资料 java例子”压缩包中,我们可以看到一个名为...
5. **消息传递**:通过集成 HornetQ,EAP 7.1.0提供了高可用的消息中间件,支持JMS(Java Message Service),可用于异步处理和解耦应用程序组件。 6. **集群与高可用性**:JBoss EAP 7.1.0支持集群部署,能实现...
它提供了一整套服务,包括组成员管理、消息传递、故障检测和恢复等,是许多分布式应用和中间件的基础。这篇博客将深入探讨JGroup的核心概念和关键功能,以便更好地理解和应用这一强大的工具。 ### 1. 组通信基础 ...
6. **JMS 消息队列**:EAP 6.4 包括了 HornetQ 消息传递系统,实现了 Java Message Service (JMS) 规范,支持异步通信和消息的可靠传输。 7. **微容器 CDI**:Contexts and Dependency Injection (CDI) 是 Java EE ...