1、新建maven项目
2、添加pom依赖
<!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-all -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.0</version>
</dependency>
3、新建类AppProducer,failover:(tcp://192.168.236.128:61618,tcp://192.168.236.128:61617)是集群地址不懂集群的可以参考 http://blog.csdn.net/scujinxiang/article/details/79136001
package com.jms.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;
public class AppProducer {
private static String url = "failover:(tcp://192.168.236.128:61618,tcp://192.168.236.128:61617)";
private static String queueName = "sjx";
public static void main(String[] args) throws JMSException {
// 获取ActiveMQ的连接工厂
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
// 获取连接
Connection connect = connectionFactory.createConnection();
connect.start();
Session session = connect.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(queueName);
MessageProducer producer = session.createProducer(destination);
for (int i = 0; i < 100; i++) {
TextMessage message = session.createTextMessage("test-" + i);
producer.send(message);
System.out.println("发送消息:" + message.getText());
}
connect.close();
}
}
3、创建消费者
package com.jms.queue;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class AppConsumer {
private static String url = "failover:(tcp://192.168.236.128:61618,tcp://192.168.236.128:61617,tcp://192.168.236.128:61616)";
private static String queueName = "sjx";
public static void main(String[] args) {
//获取ActiveMQ的连接工厂
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
//获取连接
try {
Connection connect = connectionFactory.createConnection();
connect.start();
Session session = connect.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(queueName);
MessageConsumer consumer = session.createConsumer(destination);
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message arg0) {
TextMessage message = (TextMessage) arg0;
try {
System.out.println("接收消息:"+message.getText());
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}