4.0.0com.learnrabbitmq-topic-consumer0.0.1-SNAPSHOTjarorg.springframework.bootspring-boot-starter-parent1.5.12.RELEASE UTF-8UTF-81.83.0.9.RELEASE2.2.2org.springframework.bootspring-boot-starter-amqporg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-maven-plugin
package com.learn;import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;/*** 消息接收者* @author Administrator* @RabbitListener bindings:绑定队列* @QueueBinding value:绑定队列的名称* exchange:配置交换器* * @Queue value:配置队列名称* autoDelete:是否是一个可删除的临时队列* * @Exchange value:为交换器起个名称* type:指定具体的交换器类型*/
@Component
@RabbitListener(bindings=@QueueBinding(value=@Queue(value="${mq.config.queue.info}",autoDelete="true"),exchange=@Exchange(value="${mq.config.exchange}",type=ExchangeTypes.TOPIC),key="*.log.info"))
public class InfoReceiver {/*** 接收消息的方法。采用消息队列监听机制* @param msg*/@RabbitHandlerpublic void process(String msg){System.out.println("......Info........receiver: "+msg);}
}
package com.learn;import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;/*** 消息接收者* @author Administrator* @RabbitListener bindings:绑定队列* @QueueBinding value:绑定队列的名称* exchange:配置交换器* * @Queue value:配置队列名称* autoDelete:是否是一个可删除的临时队列* * @Exchange value:为交换器起个名称* type:指定具体的交换器类型*/
@Component
@RabbitListener(bindings=@QueueBinding(value=@Queue(value="${mq.config.queue.error}",autoDelete="true"),exchange=@Exchange(value="${mq.config.exchange}",type=ExchangeTypes.TOPIC),key="*.log.error"))
public class ErrorReceiver {/*** 接收消息的方法。采用消息队列监听机制* @param msg*/@RabbitHandlerpublic void process(String msg){System.out.println("......Error........receiver: "+msg);}
}
package com.learn;import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;/*** 消息接收者* @author Administrator* @RabbitListener bindings:绑定队列* @QueueBinding value:绑定队列的名称* exchange:配置交换器* * @Queue value:配置队列名称* autoDelete:是否是一个可删除的临时队列* * @Exchange value:为交换器起个名称* type:指定具体的交换器类型*/
@Component
@RabbitListener(bindings=@QueueBinding(value=@Queue(value="${mq.config.queue.logs}",autoDelete="true"),exchange=@Exchange(value="${mq.config.exchange}",type=ExchangeTypes.TOPIC),key="*.log.*"))
public class LogsReceiver {/*** 接收消息的方法。采用消息队列监听机制* @param msg*/@RabbitHandlerpublic void process(String msg){System.out.println("......All........receiver: "+msg);}
}
package com.learn;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class RabbitTopicConsumerApplication {public static void main(String[] args) {SpringApplication.run(RabbitTopicConsumerApplication.class, args);}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!