1. 程式人生 > >ActiveMQ簡單使用

ActiveMQ簡單使用

sys ack art create 關閉資源 div read ssi star

		// 第一步:創建ConnectionFactory對象,需要指定服務端ip及端口號。
		//brokerURL服務器的ip及端口號
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.25.168:61616");
		// 第二步:使用ConnectionFactory對象創建一個Connection對象。
		Connection connection = connectionFactory.createConnection();
		// 第三步:開啟連接,調用Connection對象的start方法。
		connection.start();
		// 第四步:使用Connection對象創建一個Session對象。
		//第一個參數:是否開啟事務。true:開啟事務,第二個參數忽略。
		//第二個參數:當第一個參數為false時,才有意義。消息的應答模式。1、自動應答2、手動應答。一般是自動應答。
		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		// 第五步:使用Session對象創建一個Destination對象(topic、queue),此處創建一個Queue對象。
		//參數:隊列的名稱。
		Queue queue = session.createQueue("test-queue");
		// 第六步:使用Session對象創建一個Producer對象。
		MessageProducer producer = session.createProducer(queue);
		// 第七步:創建一個Message對象,創建一個TextMessage對象。
		/*TextMessage message = new ActiveMQTextMessage();
		message.setText("hello activeMq,this is my first test.");*/
		TextMessage textMessage = session.createTextMessage("hello activeMq,this is my first test.");
		// 第八步:使用Producer對象發送消息。
		producer.send(textMessage);
		// 第九步:關閉資源。
		producer.close();
		session.close();
		connection.close();

		// 第一步:創建一個ConnectionFactory對象。
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.25.168:61616");
		// 第二步:從ConnectionFactory對象中獲得一個Connection對象。
		Connection connection = connectionFactory.createConnection();
		// 第三步:開啟連接。調用Connection對象的start方法。
		connection.start();
		// 第四步:使用Connection對象創建一個Session對象。
		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		// 第五步:使用Session對象創建一個Destination對象。和發送端保持一致queue,並且隊列的名稱一致。
		Queue queue = session.createQueue("test-queue");
		// 第六步:使用Session對象創建一個Consumer對象。
		MessageConsumer consumer = session.createConsumer(queue);
		// 第七步:接收消息。
		consumer.setMessageListener(new MessageListener() {
			
			@Override
			public void onMessage(Message message) {
				try {
					TextMessage textMessage = (TextMessage) message;
					String text = null;
					//取消息的內容
					text = textMessage.getText();
					// 第八步:打印消息。
					System.out.println(text);
				} catch (JMSException e) {
					e.printStackTrace();
				}
			}
		});
		//等待鍵盤輸入
		System.in.read();
		// 第九步:關閉資源
		consumer.close();
		session.close();
		connection.close();

  

ActiveMQ簡單使用