用了才发现如此的easy
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {
@Autowired
Sender sender;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
sender.send("来自RMQ");
}
}
/**
* 发送组件
*/
@Component
public class Sender {
//自动配置配置文件中的链接参数,生成template
@Autowired
RabbitTemplate rabbitTemplate;
//存放队列的queue,名字为rmq队列的名字 可以多个队列
@Bean
public Queue ll() {
return new Queue("L_TEST_L_01");
}
public void send(String message) {
if (StringUtils.isEmpty(message)) {
System.out.println("queue -> null");
return;
}
// 发送方法,第一参数对列名 第二个参数发送文本
rabbitTemplate.convertAndSend("L\_TEST\_L_01", message);
}
}
/**
* 接收组件
*/
@Component
public class Receiver {
// 注解 监听queues参数的对列名 可以多个队列
@RabbitListener(queues = "L\_TEST\_L_01")
public void receiveMessage(String message){
System.out.println("Rece1: " + message);
}
}
控制台输出:
Rece1: 来自RMQ