天天看點

activemq的啟動方式

  一、簡介: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.html

  b、啟動方式比較簡單:在bin目錄下面執行即可

  

activemq的啟動方式
  c、linux的執行方式參考: https://www.cnblogs.com/ll409546297/p/6898155.html   d、這種方式有點:可以截面管理,消息中間件獨立等。截面通路位址:http://127.0.0.1:8161/admin/ 賬号密碼:admin
activemq的啟動方式

  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、設定屬性比較多,這裡隻是簡單寫了一點,具體可以自己研究

activemq的啟動方式

  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配置

activemq的啟動方式
#配置方式進行設定
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>