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
  • 相关阅读:
    一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(7)--approval节
    一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(6)--表单加载规则
    一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(5)--状态域
    一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(4)--审批域
    一步步学习微软InfoPath2010和SP2010--第十一章节--创建批准流程(3)--表单视图
    SharePoint Designer 2010 安装教程
    解耦合是架构可伸缩的必要前提
    如何使用新东西
    学习开源组件之前先有平台或者先有环境再说
    沟通的技巧
  • 原文地址:https://www.cnblogs.com/amityat/p/2160038.html
Copyright © 2011-2022 走看看