zoukankan      html  css  js  c++  java
  • rabbitmq 学习4初试2

    本例是一个简单的异步发送消息实例
    1,发送端

    @Test(groups = { "sunjun" })
    public class RabbitmqTest {

        private static Connection connection;

        static {
            ConnectionParameters params = new ConnectionParameters();
            ConnectionFactory factory = new ConnectionFactory(params);
            try {
                connection = factory.newConnection("192.168.18.21",
                        AMQP.PROTOCOL.PORT);
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

        public void testSend() {
            try {
                Channel channel = connection.createChannel();
                System.out.println(channel.toString());
                Assert.assertNotNull(channel);
                byte[] messageBodyBytes = "hello world".getBytes();
                channel.basicPublish("exchangeName", "routingKey",
                        MessageProperties.PERSISTENT_TEXT_PLAIN, messageBodyBytes);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    2,接收端
    @Test(groups = { "sunjun" })
    public class RabbitmqTestB {

        private static Connection connection;

        static {
            ConnectionParameters params = new ConnectionParameters();
            ConnectionFactory factory = new ConnectionFactory(params);
            try {
                connection = factory.newConnection("localhost", AMQP.PROTOCOL.PORT);
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

        public void testReceive() {
            try {
                Channel channel = connection.createChannel();
                System.out.println(channel.toString());

                Assert.assertNotNull(channel);

                channel.exchangeDeclare("exchangeName", "direct");
                channel.queueDeclare("queueName");
                channel.queueBind("queueName", "exchangeName", "routingKey");

                boolean noAck = false;
                GetResponse response = channel.basicGet("queueName", true);
                if (response == null) {
                    System.out.println("No message retrieved.");
                } else {
                    AMQP.BasicProperties props = response.getProps();
                    byte[] body = response.getBody();
                    System.out.println(new String(body));
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    先执行下发送端,再执行下接收端,输出:hello world
    ok
  • 相关阅读:
    printFinal用法示例
    清瘦的记录者: 一个比dbutils更小巧、好用的的持久化工具
    requestAnimationFrame,Web中写动画的另一种选择
    深入理解定时器系列第二篇——被誉为神器的requestAnimationFrame
    Javascript 多线程?
    Expert 诊断优化系列------------------语句调优三板斧
    Appium+python自动化8-Appium Python API
    Selenium2+python自动化26-js处理内嵌div滚动条
    RobotFramework自动化4-批量操作案例
    RobotFramework自动化3-搜索案例
  • 原文地址:https://www.cnblogs.com/amityat/p/2160040.html
Copyright © 2011-2022 走看看