Rabbitmq-如何侦听exchange上的消息

Rabbitmq-如何侦听exchange上的消息,rabbitmq,rabbitmq-exchange,Rabbitmq,Rabbitmq Exchange,我有一个Java程序向RabbitMQ发送消息。我只知道交易所的名字。没有队列、绑定等 我的问题是:如果只知道exchange名称,我如何查看程序是否成功发送这些 谢谢 问候,, 塞尔维亚人请看这里: 简而言之,您必须: 创建一个队列,在本例中为匿名队列 将队列绑定到您的exchange 由于绑定可以在fanout或topic或direct之间更改,因此了解您拥有的交换类型非常重要 在本例中,您可以使用RabbitMQ启用扇形输出。这就像有一个发送事务,RabbitMQ将告诉您消息是否成功发送。

我有一个Java程序向RabbitMQ发送消息。我只知道交易所的名字。没有队列、绑定等

我的问题是:如果只知道exchange名称,我如何查看程序是否成功发送这些

谢谢

问候,, 塞尔维亚人请看这里:

简而言之,您必须:

  • 创建一个队列,在本例中为匿名队列
  • 将队列绑定到您的exchange
  • 由于绑定可以在
    fanout
    topic
    direct
    之间更改,因此了解您拥有的
    交换类型非常重要


    在本例中,您可以使用RabbitMQ启用扇形输出。这就像有一个发送事务,RabbitMQ将告诉您消息是否成功发送。

    假设我们有RabbitMQ Exchange,我们需要创建一个队列,将消息推送到Exchange并从队列中使用它,如下所示

    private static final String EXCHANGE_NAME = "2022"; private static final String QUEUE_NAME = "2022"; private final static boolean durable = true; // now we need to create a connection to rabbitmq server // ConnectionFactory factory = new ConnectionFactory(); factory.setUsername("guest"); factory.setPassword("guest"); factory.setVirtualHost("/"); factory.setHost("127.0.0.1"); factory.setPort(5672); Connection conn = factory.newConnection(); // create rabbitmq connection chaneel Channel channel = conn.createChannel(); //Declare Exchange // channel.exchangeDeclare(EXCHANGE_NAME, "topic", true); // push message to rabbitmq exchange channel.basicPublish(EXCHANGE_NAME, "routingkey", null, yourmessage.getBytes()); 私有静态最终字符串交换\u NAME=“2022”; 私有静态最终字符串队列_NAME=“2022”; private final静态布尔持久=true; //现在我们需要创建到rabbitmq服务器的连接// ConnectionFactory工厂=新的ConnectionFactory(); factory.setUsername(“来宾”); 工厂设置密码(“来宾”); factory.setVirtualHost(“/”); setHost(“127.0.0.1”); 工厂设置端口(5672); Connection conn=factory.newConnection(); //创建rabbitmq连接通道 Channel=conn.createChannel(); //声明交换// channel.ExchangeClare(交换名称,“主题”,true); //将消息推送到rabbitmq交换 channel.basicPublish(EXCHANGE_NAME,“routingkey”,null,yourmessage.getBytes()); 以上工作作为生产者,现在我们需要创建队列消费者

    private static final String EXCHANGE_NAME = "2022"; private static final String QUEUE_NAME = "2022"; private final static boolean durable = true; // now we need to create a connection to rabbitmq server // ConnectionFactory factory = new ConnectionFactory(); factory.setUsername("guest"); factory.setPassword("guest"); factory.setVirtualHost("/"); factory.setHost("127.0.0.1"); factory.setPort(5672); Connection conn = factory.newConnection(); // create rabbitmq connection chaneel Channel channel = conn.createChannel(); channel.exchangeDeclare(EXCHANGE_NAME, "topic", true); //Queue Declare // channel.queueDeclare(QUEUE_NAME, true, false, false, null); //Queue bind // channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "routingkey"); // Queue Consume // QueueingConsumer consumer = new QueueingConsumer(channel); while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); System.out.println(" [x] Received '" + message + "'"); } 私有静态最终字符串交换\u NAME=“2022”; 私有静态最终字符串队列_NAME=“2022”; private final静态布尔持久=true; //现在我们需要创建到rabbitmq服务器的连接// ConnectionFactory工厂=新的ConnectionFactory(); factory.setUsername(“来宾”); 工厂设置密码(“来宾”); factory.setVirtualHost(“/”); setHost(“127.0.0.1”); 工厂设置端口(5672); Connection conn=factory.newConnection(); //创建rabbitmq连接通道 Channel=conn.createChannel(); channel.ExchangeClare(交换名称,“主题”,true); //队列声明// queueDeclare(队列名称,true,false,false,null); //队列绑定// queueBind(队列名称、交换名称、“路由密钥”); //队列消耗// QueueingConsumer=新的QueueingConsumer(通道); while(true) { QueueingConsumer.Delivery=consumer.nextDelivery(); 字符串消息=新字符串(delivery.getBody()); System.out.println(“[x]收到“+”消息“+””); } private static final String EXCHANGE_NAME = "2022"; private static final String QUEUE_NAME = "2022"; private final static boolean durable = true; // now we need to create a connection to rabbitmq server // ConnectionFactory factory = new ConnectionFactory(); factory.setUsername("guest"); factory.setPassword("guest"); factory.setVirtualHost("/"); factory.setHost("127.0.0.1"); factory.setPort(5672); Connection conn = factory.newConnection(); // create rabbitmq connection chaneel Channel channel = conn.createChannel(); channel.exchangeDeclare(EXCHANGE_NAME, "topic", true); //Queue Declare // channel.queueDeclare(QUEUE_NAME, true, false, false, null); //Queue bind // channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "routingkey"); // Queue Consume // QueueingConsumer consumer = new QueueingConsumer(channel); while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); System.out.println(" [x] Received '" + message + "'"); }