五、ActiveMQ的Broker
一、broker是什么
相当于一个ActiveMQ服务器实例。说白了,Broker其实就是实现了用代码的形式启动ActiveMQ将MQ嵌入到Java代码中,以便随时用随时启动,在用的时候再去启动这样能节省了资源,也保证了可用性。这种方式,我们实际开发中很少采用,因为他缺少太多了东西,如:日志,数据存储等等。
二、启动Broker时指定配置文件
启动broker时指定配置文件,可以帮助我们在一台服务器上启动多个broker。实际工作中一般一台服务器只启动一个broker。
# 复制配置文件 cp /usr/local/apache-activemq-5.16.0/conf/activemq.xml /usr/local/apache-activemq-5.16.0/conf/activemq02.xml # 启动 /usr/local/apache-activemq-5.16.0/bin/activemq start xbean:file:/usr/local/apache-activemq-5.16.0/conf/activemq02.xml
三、嵌入式的Broker启动
用ActiveMQ Broker作为独立的消息服务器来构建Java应用。ActiveMQ也支持在vm中通信基于嵌入的broker,能够无缝的集成其他java应用。
下面演示如何启动嵌入式的broker
- pom.xml添加一个依赖
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10.1</version> </dependency>
- 嵌入式broke的启动类
public class LocalBroker { public static void main(String[] args) throws Exception { //ActiveMQ也支持在vm中通信基于嵌入的broker BrokerService brokerService = new BrokerService(); brokerService.setUseJmx(true); brokerService.addConnector("tcp://localhost:61616"); brokerService.start(); } }
测试消息发送和接受