Broker是ActiveMQ的一个实例。
我们可以将ActiveMQ看成一个服务,是需要我们下载解压后才能使用(免安装)。
主要使用目的是为了将服务器和客户端解耦,用来做消息的传递。
而Broker是ActiveMQ的一个简易实现,我们只需要在代码中启动Broker(用跑代码的方式启动ActiveMQ),从而实现嵌入式的ACtiveMQ。使用过程如下:
(1) 运行Broker启动程序
(2) 运行 sender(发送者) 代码,发送mq
(3) 运行consume(消费者) 代码,接收mq
其中broker的启动方式有两种:
1. Broker Service启动 Broker, 例子如下:
BrokerService broker = new BrokerService();
broker.setUseJma(true);
broker.addConnector("tcp://localhost:61616");
broker.start();
2. BrokerFactory方式启动 Broker,例子如下:
String uri = "properties:broker.properties";
BrokerService broker = BrokerFactory.createBroker(new URI(uri));
broker.addConnector("tcp://localhost:61616");
broker.start();
其中,broker.properties 的内容如下所示:
useJmx=true
persistent=false
brokerName=Cheese
说白了,Broker其实就是实现了用代码的形式启动ActiveMq,将mq嵌入到java代码中,随时用随时启动,在用的时候再去启动。节省了资源,也保证了可靠性。