activeMQ(1)

◇◆丶佛笑我妖孽 提交于 2019-11-27 04:01:55

消息中间件

作用:解耦 削峰  异步


JMS编码总体架构:

 

 


一般代码流程

 @Test
    public void test1(){
        //创建连接工厂
        ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(MQ_URL);
        try {
            Connection connection = factory.createConnection();
            connection.start();

            //创建会话session
            Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);

            //创建目的地(具体是队列还是主题)
            Queue queue = session.createQueue("myFirstQueue");

            //创建消息的生产者
            MessageProducer producer = session.createProducer(queue);
            for (int i = 0; i < 3; i++) {
                //创建消息
                TextMessage message = session.createTextMessage("hello--->"+i);
                //通过消息生产者发送消息至mq
                producer.send(message);
            }
            producer.close();
            session.close();
            connection.close();

        }catch (Exception e){
            e.printStackTrace();
        }

        System.out.println("********************");

    }

 

 @Test
    public void test2(){
        //创建连接工厂
        ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(MQ_URL);
        try {
            Connection connection = factory.createConnection();
            connection.start();

            //创建会话session
            Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);

            //创建目的地(具体是队列还是主题)
            Queue queue = session.createQueue("myFirstQueue");

            //创建消息的消费者
            MessageConsumer consumer = session.createConsumer(queue);
            for (int i = 0; i < 3; i++) {
                TextMessage message = (TextMessage)consumer.receive();
                if(message!=null){
                    System.out.println("receive---->"+message.getText());
                }
            }
            consumer.close();
            session.close();
            connection.close();

        }catch (Exception e){
            e.printStackTrace();
        }

        System.out.println("********************");

    }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!