zoukankan      html  css  js  c++  java
  • rabbitmq 学习3初试1

    本例是一个简单的异步发送消息实例
    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
  • 相关阅读:
    mysql_单表查询
    mysql_建表
    MySQL基础
    JS_左边栏菜单
    Vue框架之组件系统
    Vue常用语法及命令
    Django的缓存,序列化,ORM操作的性能
    Django中的form表单
    Django中的auth模块
    AJAX请求提交数据
  • 原文地址:https://www.cnblogs.com/amityat/p/2160038.html
Copyright © 2011-2022 走看看