RabbitMQ dos命令行窗口下执行

开始在学习RabbitMQ,先搜索了下,发现看不懂不知道Routing key 和binding key指什么,就去官网阅读了英文原版,然后就是敲代码熟悉熟悉,最后不知道在哪执行以及怎么执行,因为按照官网来说的话是有消费者和生产者的,这两个要同时启动,在ideal中只能开启一个啊,后来我才知道可以在dos命令行下开启多个窗口分别充当消费者和生产者。

这是消息生产者的代码(官网上的),这个并不是重点,怕你们好奇,所以。。。


public class Sender {
    private static final String QUEUE_NAME="kris";
    public static void main(String[] args){
         send();
    }

   private static void send(){
        ConnectionFactory factory;
        Connection conn=null;
        Channel channel=null;
        try {
            factory =new ConnectionFactory();
            factory.setHost("localhost");
             conn=factory.newConnection();
             channel=conn.createChannel();
            channel.queueDeclare(QUEUE_NAME,false,false,false,null);
            String msg="kris,I 'm your big fan";
            channel.basicPublish("",QUEUE_NAME,null,msg.getBytes("UTF-8"));
            System.out.print("send msg: "+msg);
        }catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(channel!=null){
                    channel.close();
                }
                if(conn!=null){
                    conn.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

下面是重点!!!

Sender类的路径E:\springboot\chapter1\src\main\java\com\example\chapter1\rabbitmq

打开一个dos命令行窗口,进入到Sender类的包所在的目录E:\springboot\chapter1\src\main\java进行编译,amqp-client-5.1.2.jar在RabbitMQ下载的,放到了E:\springboot\chapter1\src\main\java路径下,-cp amqp-client-5.1.2.jar表示引入Sender类要用到的依赖;-encoding utf-8 保证不乱码;下面是带包名的类,编译成功则什么也不会提示。

下面是执行,同样要引入jar包amqp-client-5.1.2.jar,还多了两个slf4j-api-1.7.21.jar和slf4j-simple-1.7.22.jar(这个官网有提到),到官网下载,放到E:\springboot\chapter1\src\main\java路径下,多个jar包用分号隔开,下面是带包名的类,成功输出信息。

注意:如果有多个jar包,最后一个一定要加分号,要不然会报如下错误:

错误: 找不到或无法加载主类 com.example.chapter1.rabbitmq.Receiver

上面的这个类既带有包,又有依赖,所以运行起来较为麻烦,

下面总结了其他三种情况,还是上面的例子:

1.带包无依赖jar包

编译:E:\springboot\chapter1\src\main\java>javac    com/example/chapter1/rabbitmq/Sender.java

执行: E:\springboot\chapter1\src\main\java>java   com/example/chapter1/rabbitmq/Sender

2.不带包有依赖jar包

前提是去掉代码中的package com.example.chapter1.rabbitmq,这三个jar包放到E:\springboot\chapter1\src\main\java\com\example\chapter1\rabbitmq下

编译:E:\springboot\chapter1\src\main\java\com\example\chapter1\rabbitmq>javac -cp amqp-client-5.1.2.jar  Sender.java

执行:E:\springboot\chapter1\src\main\java\com\example\chapter1\rabbitmq>java -cp amqp-client-5.1.2.jar;slf4j-api-1.7.21.jar;slf4j-simple-1.7.22.jar  Sender


3.无包无依赖jar包

前提是去掉代码中的package com.example.chapter1.rabbitmq

编译:E:\springboot\chapter1\src\main\java\com\example\chapter1\rabbitmq>javac -cp   Sender.java

执行: E:\springboot\chapter1\src\main\java\com\example\chapter1\rabbitmq>java  Sender








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值