一 首先到ActiveMQ下載安裝包html
Active官網地址http://activemq.apache.org/activemq-5150-release.htmljava
如圖所示,有兩個下載的連接,咱們下載第一個,用於Windows平臺。apache
下載好了之後,選擇好安裝的位置,我這裏是安裝在了E:\software place\activeMq\apache-activemq-5.15.0瀏覽器
進入到對應的bin文件夾下,例如個人是E:\software place\activeMq\apache-activemq-5.15.0\bin\win64session
而後啓動activemq.battcp
在瀏覽器輸入127.0.0.1:8161能夠進入activeMQ界面url
咱們使用的是bat文件方式打開,這樣子咱們整個使用過程當中bat文件不能關閉的,咱們還能夠用服務方式啓動命令行
在bin目錄下選擇InstallService.bat以管理員命令啓動3d
而後命令行cmd下輸入services.msc打開服務窗口能夠看到activeMQ服務出現了。xml
將服務啓動後,就能夠在進程裏看見運行的服務,能夠設置爲開機自動啓動。
二 Java關於activeMQ的實現
先來看看JMS在java中的實現接口
利用這些接口,能夠用java代碼是實現消息的發送接受,實現消息生產者與消費者
首先須要導入activeMQ的相關包
<dependencies> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.9.0</version> </dependency> </dependencies>
① 先來實現消息生產者
package com.myself.jms.queue; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; /** * Created by Administrator on 2017/7/15. */ public class AppProducer { private static final String url="tcp://192.168.1.101:61616"; private static final String queueName="queue-test"; public static void main(String[] args)throws JMSException { //1,建立ConnectionFacytory ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); //2,建立鏈接Connection Connection connection = connectionFactory.createConnection(); //3,啓動連接 connection.start(); //4建立會話 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //5,建立一個目標 Destination destination = session.createQueue(queueName); //6,建立一個生產者 MessageProducer producer = session.createProducer(destination); for(int i=0;i<100;i++){ //7,建立消息 TextMessage testMessage= session.createTextMessage("Text"+i); //8發佈消息 producer.send(testMessage); System.out.println("發送消息"+testMessage.getText()); } //9,關閉鏈接 connection.close(); } }
運行後能夠看到發送了100條消息
也能夠在activeMQ的網頁中隊列裏有100條信息
有了生產者,也得須要消息消費者消費掉所產生的信息,產生的東西老是須要有人來處理的,不然就是一種資源的浪費了。
② 信息消費者的實現
package com.myself.jms.queue; import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.activemq.transport.udp.DatagramEndpoint; import javax.jms.*; import javax.xml.soap.Text; /** * Created by Administrator on 2017/7/15. */ public class AppConsumer { private static final String url="tcp://192.168.1.101:61616"; private static final String queueName="queue-test"; public static void main(String[] args)throws JMSException { //1,建立ConnectionFacytory ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); //2,建立鏈接Connection Connection connection = connectionFactory.createConnection(); //3,啓動連接 connection.start(); //4建立會話 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //5,建立一個目標 Destination destination = session.createQueue(queueName); //6 建立一個消費者 MessageConsumer consumer = session.createConsumer(destination); //7建立一個監聽器 consumer.setMessageListener(new MessageListener() { public void onMessage(Message message) { TextMessage textMessage = (TextMessage) message; try { System.out.println("接受到信息"+textMessage.getText()); } catch (JMSException e) { e.printStackTrace(); } } }); //8,關閉鏈接 connection.close(); } }
運行後消息確實接受到了
在activeMQ的網頁中,能夠看到出隊列數目100,
今天Active的初步入門就到這裏吧, 我們下次在繼續新的話題。