java + RabbitMq 安装与简单使用(windows下)

  1. 安装:
首先安装 RabbitMq 对应版本的 Erlang, 本例使用的RabbitMq 为 3.7.0 对应的 Erlang 版本为 19.3 ~ 20.1.x
官方下载地址:http://www.erlang.org/downloads
20.1 win64版本下载地址:http://erlang.org/download/otp_win64_20.1.exe

RabbitMq 官方下载地址:http://www.rabbitmq.com/download.html

下载:https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.0/rabbitmq-server-3.7.0.exe

直接执行即可,安装路径 e:/devtools/server\

安装路径一定不能含中文,否则,可能会碰到服务启动失败的情况(通常是由于用户名为中文,导致默认的 db 和 log 目录访问出现问题)


2. 管理:

安装好后,rabbitmq 服务会自动启动,我们可以通过配置文件或者web页面的方式进行管理,介绍下使用web插件的方式管理的方法:

在sbin/下面有个rabbitmq-plugins.bat, 通过cmd进入到 /sbin/下面,执行命令

rabbitmq-plugins enable rabbitmq_management,即启动 web 插件

·


访问 http://localhost:15672 即可看到管理页面



3. 使用

安装完成后,写一个demo来看一下 mq 的消费效果

我们使用RabbitMq官网给的 java demo, 先准备好 amqp-client-4.0.2.jar,以及它依赖的jar:slf4j-api-1.7.21.jar,slf4j-simple-1.7.22.jar

服务端:

public class Recv {

  private final static String QUEUE_NAME = "hello";

  public static void main(String[] argv) throws Exception {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(channel) {
      @Override
      public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
          throws IOException {
        String message = new String(body, "UTF-8");
        System.out.println(" [x] Received '" + message + "'");
      }
    };
    channel.basicConsume(QUEUE_NAME, true, consumer);
  }
}

客户端:
public class Send {

  private final static String QUEUE_NAME = "hello";

  public static void main(String[] argv) throws Exception {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    String message = "Hello World!";
    channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8"));
    System.out.println(" [x] Sent '" + message + "'");

    channel.close();
    connection.close();
  }
}

先跑服务端,再跑客户端,能看到运行效果:

 

 
在mq管理中心上也能看到实时监控的情况:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值