zoukankan      html  css  js  c++  java
  • activemq 学习系列(四) 消息提供和消费

    消息提供和消费

    package com.test;
    
    import javax.jms.Connection;
    import javax.jms.DeliveryMode;
    import javax.jms.Destination;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    
    import org.apache.activemq.ActiveMQConnectionFactory;
    
    public class ActiveMqTest {
    
        public static void main (String[] args) {
            producer();
            // consumer();
        }
        
        public static void producer () {
            try {
                String brokerURL = "tcp://localhost:61616";
                String user = "admin";
                String password = "admin";
                ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(user, password, brokerURL);
                
                Connection connection = factory.createConnection();
                connection.start();
                
                Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                Destination queue = session.createQueue("demoQueue");
                
                MessageProducer messageProducer = session.createProducer(queue);
                messageProducer.setDeliveryMode(DeliveryMode.PERSISTENT);
                
                String text = "hello activemq";
                
                Message textMessage = session.createTextMessage(text);
                messageProducer.send(textMessage);
                
                session.close();
                connection.close();
            } catch (Exception e) {
                System.out.println(e);
                e.printStackTrace();
            }
        }
        
        public static void consumer () {
            try {
                String brokerURL = "tcp://localhost:61616";
                String user = "admin";
                String password = "admin";
                ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(user, password, brokerURL);
                
                Connection connection = factory.createConnection();
                connection.start();
                
                Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                Destination queue = session.createQueue("demoQueue");
                
                MessageConsumer consumer = session.createConsumer(queue);
                Message message = consumer.receive(1000);
                
                if (message instanceof TextMessage) {
                    TextMessage textMessage = (TextMessage) message;
                    String text = textMessage.getText();
                    
                    System.out.println( text );
                }
                consumer.close();
                session.close();
                connection.close();
            } catch (Exception e) {
                System.out.println(e);
                e.printStackTrace();
            }
        }
    
    }

    1、执行 producer 方法后在管理界面可以看到相关信息

    2、执行 consumer 方法,消费消息

  • 相关阅读:
    What Apache ZooKeeper is and when should it be used?
    基于Apache Curator框架的ZooKeeper使用详解
    Curator典型应用场景之Master选举
    Curator典型应用场景之事件监听
    Curator典型应用场景之分布式锁
    Zookeeper原生Java API、ZKClient和Apache Curator 区别对比
    IntelliJ IDEA oneline function formatting
    Converting a List to String in Java
    UNIAPP 微信小程序做H5 PDF预览
    Git 常用命令,持续更新
  • 原文地址:https://www.cnblogs.com/bmw320li/p/10006018.html
Copyright © 2011-2022 走看看