基本的Queue消息发送和接收
配置Maven所需要的依赖
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.5</version>
</dependency>
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
<version>4.9</version>
</dependency>
Queue消息发送的示例
/**
* @Title: QueueSender.java
* @Package com.lhbdx.queue
* @Description: 不积跬步,无以至千里;不积小流,无以成江海。
* @author zhaoyong
* @date 2018-8-12 下午7:11:54
* @version V1.0
* Update Logs:
******************************************************
*/
package com.lhbdx.queue;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
/**
* @ClassName: QueueSender
* @Description:
* @author zhaoyong
* @date 2018-8-12 下午7:11:54
*
*/
public class QueueSender {
public static void main(String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
"tcp://192.168.60.128:61616");
try {
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(Boolean.TRUE,
Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("MyQueue");
MessageProducer producer = session.createProducer(destination);
for (int i = 0; i < 100; i++) {
TextMessage message = session
.createTextMessage("message--" + i);
producer.send(message);
session.commit();
}
session.close();
connection.close();
} catch (JMSException e) {
e.printStackTrace();
}
}
}
Queue消息接收的示例
/**
* @Title: QueueReceiver.java
* @Package com.lhbdx.queue
* @Description: 不积跬步,无以至千里;不积小流,无以成江海。
* @author zhaoyong
* @date 2018-8-12 下午7:30:28
* @version V1.0
* Update Logs:
******************************************************
*/
package com.lhbdx.queue;
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;
/**
* @ClassName: QueueReceiver
* @Description:
* @author zhaoyong
* @date 2018-8-12 下午7:30:28
*
*/
public class QueueReceiver {
public static void main(String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
"tcp://192.168.60.128:61616");
try {
Connection connection = connectionFactory.createConnection();
connection.start();
final Session session = connection.createSession(Boolean.TRUE,
Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("MyQueue");
MessageConsumer consumer = session.createConsumer(destination);
int i = 0;
while (i < 100) {
i++;
TextMessage message = (TextMessage) consumer.receive();
session.commit();
System.out.println("收到消息:" + message.getText());
}
session.close();
connection.close();
} catch (JMSException e) {
e.printStackTrace();
}
}
}