溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

ActiveMQ簡(jiǎn)易入門(mén)

發(fā)布時(shí)間:2020-08-06 00:08:57 來(lái)源:網(wǎng)絡(luò) 閱讀:937 作者:zongheng_ycj 欄目:建站服務(wù)器

ActiveMQ官方下載地址:http://activemq.apache.org/download.html


下載解壓后,執(zhí)行bin目錄下activemq.bat啟動(dòng)mq服務(wù)

ActiveMQ簡(jiǎn)易入門(mén)


找到lib目錄并引入相關(guān)jar包

ActiveMQ簡(jiǎn)易入門(mén)


Sender消息發(fā)送者類(lèi)

package com.ycj.activemq;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnectionFactory;

public class Sender {
    private static final String MQ_USER = "admin";
	private static final String MQ_PWD = "admin";
	private static final String MQ_URL = "tcp://localhost:61616";
	private static final String MQ_QUEUE_DEFAULT = "testQueue";
	
	public static void main(String[] args) throws JMSException {
		// 創(chuàng)建JMS連接工廠
		ConnectionFactory factory = new ActiveMQConnectionFactory(MQ_USER, MQ_PWD, MQ_URL);
		// 通過(guò)工廠獲取鏈接并啟動(dòng)
		Connection connection = factory.createConnection();
		connection.start();
		// 創(chuàng)建session
		Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
		// 創(chuàng)建destination 消息目的地
		Destination destination = session.createQueue(MQ_QUEUE_DEFAULT);
		// 根據(jù)destination初始化一個(gè)生產(chǎn)者
		MessageProducer producer = session.createProducer(destination);
		// 生產(chǎn)者消息不持久化
	    producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
	    // 生成消息 并發(fā)送
	    Message msg1 = session.createTextMessage("I'm msg1");
	    Message msg2 = session.createTextMessage("I'm msg2");
	    producer.send(msg1);
	    producer.send(msg2);
	    session.commit();
	    connection.close();
	    System.out.println("producer send msg done!");
	}
}


Receiver消息接收者類(lèi)

package com.ycj.activemq;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

public class Receiver {
	private static final String MQ_USER = "admin";
	private static final String MQ_PWD = "admin";
	private static final String MQ_URL = "tcp://localhost:61616";
	private static final String MQ_QUEUE_DEFAULT = "testQueue";
	
	public static void main(String[] args) throws JMSException {
		// 創(chuàng)建JMS連接工廠
		ConnectionFactory factory = new ActiveMQConnectionFactory(MQ_USER, MQ_PWD, MQ_URL);
		// 通過(guò)工廠獲取鏈接并啟動(dòng)
		Connection connection = factory.createConnection();
		connection.start();
		// 創(chuàng)建session
		Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
		// 創(chuàng)建destination 消息目的地
		Destination destination = session.createQueue(MQ_QUEUE_DEFAULT);
		// 根據(jù)destination初始化一個(gè)消費(fèi)者
		MessageConsumer consumer = session.createConsumer(destination);
		while (true) {
          TextMessage msg = (TextMessage) consumer.receive(1000*1000);
          if (null != msg) {
              System.out.println("message has been received:" + msg.getText());
          } 
		}
	}
}


依次運(yùn)行Receiver和Sender,控制臺(tái)輸出:

Sender

ActiveMQ簡(jiǎn)易入門(mén)

Receiver

ActiveMQ簡(jiǎn)易入門(mén)


打開(kāi)瀏覽器輸入http://localhost:8161/admin/index.jsp,選擇Queues可以監(jiān)控隊(duì)列消費(fèi)情況

ActiveMQ簡(jiǎn)易入門(mén)

向AI問(wèn)一下細(xì)節(jié)
推薦閱讀:
  1. ActiveMQ Tips
  2. ActiveMQ安裝

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

mq ct
AI