ActiveMQ的Broker
定义:
相当于一个ActiveMQ服务器实例,说白了,Broker其实就是实现了用代码的形式启动ActiveMQ将MQ嵌入到Java代码中,以便随时用随时启动。在用的时候在此去启动这样就能节省了资源,也保证了可靠性。
不同的conf配置文件模拟不同的实例
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191227100259762.jpg)
嵌入式Broker
用ActiveMQ Broker作为独立的消息服务器来构建java应用。ActiveMQ也支持在vm中通信基于嵌入式的broker,能够无缝的集成其他java应用。
代码实现
// Pom.xml
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.9</version>
</dependency>
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
<version>3.16</version>
</dependency>
<!-- Caused by : java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
//EmbedBroker.java
public class EmbedBroker {
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();
}
}