天天看點

ActiveMQ的broker啟動

ActiveMQ除了可以作為獨立程序單獨部署在伺服器上之外,也可以很小巧的内嵌在程式中啟動

一下介紹三種啟動方式:

樓主maven目錄結構:

ActiveMQ的broker啟動

一:直接啟動通過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");
	}

}
           

樓主釋出的内容,自己都是親自實踐操作

一隻行走的小笨猿!