一、安装
启动之后成功
二、创建实例测试ActiveMQ
- 配置Maven所需的依赖
<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方法,控制台输出如下:
那这个消息发送到哪里去了呢?
-
消息接收
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方法
此时再看服务器端会发送消息已经被接收处理了。