ActiveMQ(十一)--Broker的启动方式

本文介绍了ActiveMQ的两种启动方式:命令行启动,包括默认启动和指定配置文件启动;以及在Java应用中构建独立消息服务器的嵌入式启动方法,包括Broker service和BrokerFactory启动,并提到了Spring集成ActiveMQ的配置。

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

Broker:相当于一个ActiveMQ服务器实例

命令行启动参数实例:
1. ./activemq start:使用默认的activemq.xml来启动
2. ./activemq start xbean:file:../conf/activemq-2.xml   使用指定的配置文件来启动
3.如果不指定file,也就是xbean:activemq-2.xml,那么xml必须在classpath下面

用ActiveMQ来构建Java应用

这里主要讲用ActiveMQ Broker作为独立的消息服务器来构建Java应用。ActiveMQ也支持在vm中通信基于嵌入式的Broker,能够无缝的集成其它Java应用。

嵌入式Broker启动
1.Broker service启动broker

import org.apache.activemq.broker.BrokerService;

public class InnerBroker {
    public static void main(String[] args) throws Exception {
        BrokerService broker = new BrokerService();
        broker.setUseJmx(true);
        broker.addConnector("tcp://localhost:61616");
        broker.start();
    }
}

2.BrokerFactory启动broker

import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;

import java.net.URI;

public class InnerBrok
### 如何部署和配置 ActiveMQ Broker Cluster #### 配置概述 ActiveMQ 支持通过创建多个 broker 实例形成集群,这些实例可以通过静态发现或动态发现的方式互相通信。为了实现高可用性和负载均衡,在生产环境中通常会采用集群架构。 #### 动态发现集群 (Dynamic Discovery) 对于希望简化管理并允许自动扩展的情况,可以选择使用基于多播技术的动态发现机制[^2]。这种方式下,无需预先定义所有成员的信息;相反,当新的broker加入时它能够自行注册到现有群集中去。具体操作如下: 1. 修改 `${ACTIVEMQ_HOME}/conf/activemq.xml` 文件中的 `<networkConnectors>` 部分,添加如下代码片段以启用多播协议: ```xml <networkConnectors> <networkConnector uri="multicast://default"/> </networkConnectors> ``` 此设置使得各个节点能够在启动之后利用组播地址 `default` 来探测彼此的存在,并建立必要的连接关系以便于消息传递。 #### 静态发现集群 (Static Discovery) 如果环境不允许使用UDP多播,则可采取静态配置的方法来构建稳定的集群拓扑结构。这涉及到显式指明每一个参与者的URI路径[^4]。例如: ```xml <networkConnectors> <!-- 明确列出所有远程brokers --> <networkConnector name="static-connector" uri="static:(tcp://localhost:61617,tcp://otherhost:61618)"> ... </networkConnector> </networkConnectors> ``` 上述XML片断展示了如何向本地配置文件中引入两个远端代理服务器的位置信息。注意这里的 URI 列表应当根据实际场景调整为对应机器上的正确监听端口和服务地址。 #### Network Connector 的作用 无论选用哪种类型的集群方案,都离不开名为 "Network Connectors" 的组件支持。该工具负责处理跨服务间的数据交换逻辑,确保即使在网络分区发生的情况下也能维持良好的性能表现与数据一致性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值