• 分布式-信息方式-ActiveMQ示例


    实战

    代码如下:

    信息生产者

    package test.mq.helloword;
    
    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 Sender {
           public static void main(String[] args) throws JMSException, InterruptedException {
            ConnectionFactory   ConnectionFactory=new ActiveMQConnectionFactory(
                    "tcp://localhost:61616"
                    );
            Connection connection=ConnectionFactory.createConnection();
            connection.start();
            Session session=connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
            Destination destination=session.createQueue("my_queue");
            MessageProducer Producer=session.createProducer(destination);
         
            for(int i=1;i<=3;i++){
                TextMessage message=session.createTextMessage("message----"+i);
                //Thread.sleep(1000);  
                Producer.send(message);
            }
             session.commit();
             session.close();
             connection.close();    
        }
    }

    ActiveMQ页面

      信息消费者

    package test.mq.helloword;
    
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.DeliveryMode;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    
    import org.apache.activemq.ActiveMQConnectionFactory;
    import org.apache.activemq.broker.ConsumerBrokerExchange;
    
    public class Receiver {
        
        public static void main(String[] args) throws JMSException {
            ConnectionFactory   ConnectionFactory=new ActiveMQConnectionFactory(
                    "tcp://localhost:61616"
                    );
            Connection connection=ConnectionFactory.createConnection();
            connection.start();
            Session session=connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE); 
            Destination destination=session.createQueue("my_queue");
            MessageConsumer Consumer=session.createConsumer(destination);
            
             while(true){
                 TextMessage msg=(TextMessage) Consumer.receive();
                 msg.acknowledge();
                 if(msg==null)break;
                 System.out.println("接收信息:------》"+msg.getText());
                 }
             if(connection!=null){
                 connection.close();
             }
             }
        
        
        
    }

    控制台

    ActiveMQ页面

  • 相关阅读:
    如何搜索 git 提交记录
    使用Mongo进行分页
    mongodb 数据自动备份
    linux 添加环境变量
    centos7安装bbr
    centos7安装node
    [shell]输出内容到剪切板
    centos 7 已经开启 22 端口但无法连接
    一些有趣的 js 包
    机房选择
  • 原文地址:https://www.cnblogs.com/caoyingjielxq/p/9330192.html
Copyright © 2020-2023  润新知