一、簡介:ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支援JMS1.1和J2EE 1.4規範的 JMS Provider實作,盡管JMS規範出台已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演着特殊的地位。
二、其他常用的jms的消息隊列:目前使用較多的消息隊列有RabbitMQ、RocketMQ、Kafka、ZeroMQ、MetaMq等,而部分資料庫如Redis、Mysql以及phxsql也可實作消息隊列的功能。
三、這裡重點介紹一下activemq實際應用中設計的啟動方式:、
1)獨立的中間件:
a、下載下傳位址:
http://activemq.apache.org/activemq-5154-release.htmlb、啟動方式比較簡單:在bin目錄下面執行即可
c、linux的執行方式參考: https://www.cnblogs.com/ll409546297/p/6898155.html d、這種方式有點:可以截面管理,消息中間件獨立等。截面通路位址:http://127.0.0.1:8161/admin/ 賬号密碼:admin
2)代碼服務啟動方式:
a、手動編寫代碼啟動
package com.pinnet;
import org.apache.activemq.broker.BrokerService;
public class InitBroker {
public static void main(String[] args) throws Exception {
//建立broker服務對象
BrokerService brokerService = new BrokerService();
//設定名稱,多個broker的時候采用
brokerService.setBrokerName("activemq");
brokerService.setUseJmx(true);
//設定持久化
brokerService.setPassiveSlave(false);
//添加連結
brokerService.addConnector("tcp://localhost:61616");
//啟動服務
brokerService.start();
}
}
b、設定屬性比較多,這裡隻是簡單寫了一點,具體可以自己研究
3)工廠模式啟動:
a、代碼實作:
package com.pinnet;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
public class InitBrokerFactory {
public static void main(String[] args) throws Exception {
//工廠模式建立
BrokerService brokerService = BrokerFactory.createBroker("properties:broker.properties");
//添加連結
brokerService.addConnector("tcp://localhost:61616");
//開始監聽
brokerService.start();
}
}
b、broker.properties配置
#配置方式進行設定
brokerName=activeMqFactory
useJmx=true
passiveSlave=false
4)第四種方式xml方式,bean的配置可以直接參考第二、三種方式
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="jmsBroker" class="org.apache.activemq.broker.BrokerService" init-method="start" destroy-method="stop">
<property name="brokerName" value="activemq"/>
<property name="passiveSlave" value="false"/>
<property name="bindAddress" value="tcp://localhost:61616">
</property>
</bean>
</beans>