1、安裝
啓動以後成功spring
2、建立實例測試ActiveMQapache
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.9.0</version> </dependency> <dependency> <groupId>org.apache.xbean</groupId> <artifactId>xbean-spring</artifactId> <version>3.16</version> </dependency>
消息發送服務器
public class QueueSender { public static void main(String[] args) throws Exception{ //鏈接工廠 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = connectionFactory.createConnection(); connection.start(); //帶事務的session Session session = connection.createSession(Boolean.TRUE,Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("my-queue"); MessageProducer producer = session.createProducer(destination); for (int i = 0; i < 3; i++) { TextMessage message = session.createTextMessage("message--"+i); Thread.sleep(1000); //經過消息生產者發出消息 producer.send(message); } session.commit(); session.close(); connection.close(); } }
運行main方法,控制檯輸出以下:session
那這個消息發送到哪裏去了呢?tcp
消息接收ide
public class QueueReceive { public static void main(String[] args) throws Exception{ //鏈接工廠 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = connectionFactory.createConnection(); connection.start(); //帶事務的session,而且自動簽收 final Session session = connection.createSession(Boolean.TRUE,Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("my-queue"); MessageConsumer consumer = session.createConsumer(destination); int i = 0; while (i<3){ i++; TextMessage message = (TextMessage) consumer.receive(); session.commit(); System.out.println("收到的消息是:"+message.getText()); } session.close(); connection.close(); } }
運行main方法測試
此時再看服務器端會發送消息已經被接收處理了。code