`

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

分享到:
评论

相关推荐

    RabbitMQ rabbitmq-server-3.6.12-1.el6.noarch 及其安装所需要的软件打包

    RabbitMQ rabbitmq-server-3.6.12-1.el6.noarch 及其安装所需要的软件打包都在这里面,主要报卡一下软件:socat-1.7.3.2.tar.gz、rabbitmq-server-3.6.12-1.el6.noarch.rpm、rabbitmq-release-signing-key.asc、otp_...

    rabbitmq-c-master.rar_RabbitMQ c lib_cmake编译_rabbitmq_rabbitmq-c

    1. **获取源码**:首先,从官方仓库或者提供的压缩包中下载`rabbitmq-c-master`源代码。 2. **创建构建目录**:为了保持源代码的整洁,我们通常在源代码目录外创建一个新目录,例如`build`,用于放置编译生成的文件...

    rabbitmq-server-3.5.4.tar.gz

    1. **下载**:首先,你需要从官方网站下载适合你的Linux发行版的RabbitMQ版本,如"rabbitmq-server-generic-unix-3.5.4.tar.gz"。你可以使用wget命令或者直接在浏览器中下载。 2. **解压**:使用tar命令解压下载的...

    rabbitmq-c-master.zip

    1. 解压文件:首先,你需要解压下载的“rabbitmq-c-master.zip”压缩包,这将得到一个名为“rabbitmq-c-master”的文件夹。 2. 编译库:进入文件夹后,你需要配置、编译和安装库。通常使用以下命令: - `./...

    rabbitmq-server-3.10.5-1.el8.noarch.rpm

    rabbitmq-server-3.10.5-1.el8.noarch.rpm

    rabbitmq-server-3.11.13

    rabbitmq-server-3.11.13rabbitmq-server-3.11.13rabbitmq-server-3.11.13rabbitmq-server-3.11.13rabbitmq-server-3.11.13rabbitmq-server-3.11.13rabbitmq-server-3.11.13rabbitmq-server-3.11.13rabbitmq-server-...

    rabbitmq 3.6.5-1离线安装

    rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm systemctl status rabbitmq-server systemctl start rabbitmq-server systemctl stop rabbitmq-server systemctl restart rabbitmq-server systemctl enable ...

    rabbitmq-server-3.8.8-1.el7.noarch.rpm

    rabbitmq-server-3.8.8-1.el7.noarch

    RabbitMQ安装包,版本:rabbitmq-server-3.9.11.exe

    rabbitmq-server-3.9.11.exe

    最新版linux rabbitmq-server-generic-unix-3.8.14.tar.xz

    最新版linux rabbitmq-server-generic-unix-3.8.14.tar.xz最新版linux rabbitmq-server-generic-unix-3.8.14.tar.xz

    rabbitmq-server-3.6.5-1.noarch.rar

    标题中的“rabbitmq-server-3.6.5-1.noarch.rar”指的是RabbitMQ服务器的一个特定版本,即3.6.5版本。RabbitMQ是一个开源的消息队列系统,基于AMQP(Advanced Message Queuing Protocol)协议,用于在分布式系统中...

    rabbitmq-server-3.8.13-1.el7.noarch.rpm

    rabbitmq-server-3.8.13-1.el7.noarch.rpm

    rabbitmq-server-mac-standalone-3.5.3

    1. **下载与解压**:首先,从官方网站或者提供的链接下载`rabbitmq-server-mac-standalone-3.5.3.tar.gz`,然后使用`tar -zxvf rabbitmq-server-mac-standalone-3.5.3.tar.gz`命令将其解压缩。 2. **环境配置**:...

    rabbitmq-server-3.13.7.exe

    rabbitmq-server-3.13.7.exe

    rabbitmq-server-3.8.3安装包

    1. **下载与解压**:从提供的压缩包`rabbitmq-3.8.3`中解压出RabbitMQ服务器的安装文件。 2. **环境配置**:根据操作系统(如Linux、Windows或macOS)设置必要的环境变量,例如添加RabbitMQ的可执行文件路径到PATH...

    rabbitmq-server-generic-unix-3.5.7.tar.rar下载,rabbitmq安装包

    在您提供的资源中,“rabbitmq-server-generic-unix-3.5.7.tar.rar”是一个针对Linux平台的RabbitMQ服务器的离线安装包。这个版本为3.5.7,您需要在Windows环境下解压后再用于Linux系统。下面将详细介绍RabbitMQ的...

    rabbitmq-server-3.6.10-1.el7.noarch.zip

    标题中的“rabbitmq-server-3.6.10-1.el7.noarch.zip”指的是RabbitMQ服务器的特定版本,3.6.10,针对的是Linux发行版 CentOS 7(因为“el7”通常代表“Enterprise Linux 7”,这是CentOS的一个版本)。这个文件是一...

    rabbitmq-server-generic-unix-3.7.7.tar

    标题中的“rabbitmq-server-generic-unix-3.7.7.tar”表明这是一个针对Unix系统(包括Linux)的RabbitMQ服务器版本3.7.7的压缩包文件。RabbitMQ是一个开源的消息代理和队列服务器,它实现了Advanced Message Queuing...

    rabbitmq-server-4.0.3-windows安装包

    rabbitmq-server-4.0.3-windows安装包 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的...

    rabbitmq-server-generic-unix-3.8.8.tar.xz

    RabbitMQ源码 rabbitmq-server-generic-unix-3.8.8.tar.xz

Global site tag (gtag.js) - Google Analytics