2019独角兽企业重金招聘Python工程师标准>>>
1.项目结构
2.引入依赖
apply plugin:'java'
repositories{
maven{
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
}
dependencies{
compile group: 'org.apache.activemq', name: 'activemq-all', version: '5.13.3'
}
3.生产者
public class Sender {
public static void main(String[] args) throws Exception {
// 第一步:建立ConnectionFactory工厂对象。用户名,密码,连接地址
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616");
// 第二步:通过ConnectionFactory工厂对象创建一个Connection连接,并开启连接
Connection connection = connectionFactory.createConnection();
connection.start();
// 第三步:通过Connection对象创建Session会话。是否启用事务;签收模式,一般我们设置自动签收
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
// 第四步:通过Session对象创建Destination对象
Destination destination = session.createQueue("first");
// 第五步:通过Session对象创建消息的发送和接受对象(生产者和消费者)
MessageProducer producer = session.createProducer(null);
// 第六步:用MessageProducer的setDeliverMode方法设置持久化特性和非持久化特性
// producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
// 第七步:使用send发送数据
for (int i = 0; i < 100; i++) {
TextMessage msg = session.createTextMessage("我是消息内容" + i);
producer.send(destination, msg);
TimeUnit.SECONDS.sleep(1);
}
// 第八步:关闭连接
if (connection != null) {
connection.close();
}
}
}
4.消费者
public class Receiver {
public static void main(String[] args) throws Exception {
// 第一步:建立ConnectionFactory工厂对象。用户名,密码,连接地址
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD,
"tcp://localhost:61616");
// 第二步:通过ConnectionFactory工厂对象创建一个Connection连接,并开启连接
Connection connection =connectionFactory.createConnection();
connection.start();
// 第三步:通过Connection对象创建Session会话。
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
// 第四步:通过Session对象创建Destination对象
Destination destination =session.createQueue("first");
// 第五步:通过Session对象创建消息的发送和接受对象(生产者和消费者)
MessageConsumer consumer = session.createConsumer(destination);
while (true) {
TextMessage message = (TextMessage)consumer.receive();
System.out.println("消费数据:"+message.getText());
}
}
}
5.监控控制台