ActiveMQ除了可以作為獨立程序單獨部署在伺服器上之外,也可以很小巧的内嵌在程式中啟動
一下介紹三種啟動方式:
樓主maven目錄結構:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX0smaNlXSU1kMNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zMyIjNwIjMxEDMycDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
一:直接啟動通過broker
package com.test.mq.broker;
import org.apache.activemq.broker.BrokerService;
//嵌入式broker啟動
//Broker:相當于一個activeMq伺服器執行個體
public class brokertest {
public static void main(String[] args) throws Exception {
BrokerService bs=new BrokerService();
// 啟用broker的JMX監控功能
bs.setUseJmx(true);
// 設定broker名字
bs.setBrokerName("MyBroker");
// 是否使用持久化
bs.setPersistent(false);
bs.addConnector("tcp://localhost:61616");
bs.start();
}
}
對于生産者,消費者代碼,在這裡就不再寫了
二:通過配置檔案啟動,檔案位置,上面的圖中都有
配置檔案:
useJms=true
persistent=false
brokerName=FactoryBroker
代碼:
package com.test.mq.brokerProperties;
import java.net.URI;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
//嵌入式broker啟動
//Broker:相當于一個activeMq伺服器執行個體
public class brokertest {
public static void main(String[] args) throws Exception {
String uri = "properties:broker.properties";
BrokerService bs = BrokerFactory.createBroker(new URI(uri));
bs.addConnector("tcp://localhost:61616");
bs.start();
}
}
三:結合spring的broker
applicationContext.xml配置:
<!--broker啟動配置 -->
<bean id="broker" class="org.apache.activemq.broker.BrokerService" init-method="start"
destroy-method="stop">
<!--broker名稱随便起-->
<property name="brokerName" value="SpringBroker"/>
<!--持久化政策-->
<property name="persistent" value="true"/>
<property name="transportConnectorURIs">
<list>
<value>tcp://localhost:61616</value>
</list>
</property>
</bean>
代碼:
package com.test.mq.brokerSpring;
import java.net.URI;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
//嵌入式broker啟動
//Broker:相當于一個activeMq伺服器執行個體
public class brokertest {
public static void main(String[] args) throws Exception {
ApplicationContext ctx = new
ClassPathXmlApplicationContext("applicationContext.xml");
}
}
樓主釋出的内容,自己都是親自實踐操作
一隻行走的小笨猿!