active mq 的安裝和使用

1.下載最新的activeMQ壓縮包,地址爲http://activemq.apache.org/activemq-5152-release.html


2.解壓壓縮包,找到bin目錄之下的win32/win64目錄下的activemq.bat進行啓動,也可點擊InstallService.bat 進行服務方式啓動啓動成功後瀏覽器打開http://127.0.0.1:8161/admin 輸入默認的賬號admin密碼admin即可,成功如圖:


3.創建java項目引入activemq-all-5.15.2.jar(mq解壓後第一級目錄之下)

4.active mq 分爲隊列模式和訂閱者模式以下我們以案例分別介紹

4.1之隊列模式

第一步:創建生產者

public class jmsProducer {
	 //默認連接用戶名
    private static final String url = "tcp://127.0.0.1:61616";
    //默認連接密碼
    private static final String username = "admin";
    //默認連接地址
    private static final String password = "admin";
    //隊列名稱
    private static final String jmsName = "queue-test";
	public static void main(String[] args) throws JMSException {
		//1.創建連接工廠
		ConnectionFactory connectionFactory = (ConnectionFactory) new ActiveMQConnectionFactory(username, password, url);
		//2.得到連接
		Connection connection = connectionFactory.createConnection();
		//3.啓動連接
		connection.start();
		//4。創建會話
		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		//5.創建目標
		Destination destination  = session.createQueue(jmsName);
		//6.創建生產者
		MessageProducer producer = session.createProducer(destination);
		//發送10條消息
		for (int i = 0; i < 10; i++) {
			TextMessage textMessage = session.createTextMessage("消息:"+i);
			producer.send(textMessage);
			System.out.println("已發送"+textMessage.getText());
		}
		connection.close();
	}
}
右鍵運行完成之後進入瀏覽器查看如圖成功


第二步創建消費者

public class jmsCustomer {
	 //默認連接用戶名
    private static final String url = "tcp://127.0.0.1:61616";
    //默認連接密碼
    private static final String username = "admin";
    //默認連接地址
    private static final String password = "admin";
    //隊列名稱
    private static final String jmsName = "queue-test";
	public static void main(String[] args) throws JMSException {
		//1.創建連接工廠
		ConnectionFactory connectionFactory = (ConnectionFactory) new ActiveMQConnectionFactory(username, password, url);
		//2.得到連接
		Connection connection = connectionFactory.createConnection();
		//3.啓動連接
		connection.start();
		//4。創建會話
		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		//5.創建目標
		Destination destination  = session.createQueue(jmsName);
		//創建消費者
		MessageConsumer customer = session.createConsumer(destination);
		customer.setMessageListener(new MessageListener() {
			
			@Override
			public void onMessage(Message message) {
				// TODO Auto-generated method stub
				TextMessage textMessage = (TextMessage) message;
				try {
					System.out.println("已接收:"+textMessage.getText());
				} catch (JMSException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
右鍵運行完成後進入瀏覽器查看消息信息如圖成功


ps:如果我們同時開啓兩個消費者,當生產者發出消息後,兩個消費者以平均分配的方式共享資源

4.2之訂閱者模式

其實訂閱者模式與隊列模式,使用方法幾乎相似,只要改變會話牀建方式即可

//4。創建會話
		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
ps:使用訂閱者模式必須先運行消費者進行消息的訂閱,然後生產者發出的消息才能接收到的到

如果創建兩個消費者,在訂閱者模式之下,當生產者發出消息後,兩個消費者均可收到所有消息

這也是隊列模式和消費者模式的一個重要的區別。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章