發(fā)送端服務器
注冊隊列 -- 配置文件實現(xiàn)
@Configuration
public class RabbitConfig {
//注冊隊列
@Bean
public Queue Queue(){
return new Queue("hello");
}
}
消息發(fā)送
@Component
public class MessageSender{
@Autowired
AmqpTemplate amqpTemplate;
public void send() {
String content = "hello " + new Date();
System.out.println("Sender-message : " + content);
this.amqpTemplate.convertAndSend("hello", content);
}
}
接收端服務器
實現(xiàn)方式一
@Component
@RabbitListener(queues = "hello")
public class MessageReceiver {
@RabbitHandler
public void process(@Payload String foo) {
System.out.println(foo);
}
}
實現(xiàn)方式二:
@Component
public class MessageReceiver {
@RabbitListener(queues = "hello")
public void process(String content){
System.out.println("Receiver Value : " + content);
}
}
測試類
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = WebClientCoreApplication.class)
@WebAppConfiguration
public class RabbitTest {
@Autowired
MessageSender messageSender;
@Test
public void testRabbit(){
messageSender.send();
}
}
//WebClientCoreApplication 為當前服務的啟動類
測試過程
- 啟動接收服務器
- 執(zhí)行測試類
期望值
- 發(fā)送服務器正常打印
- 接收服務器正常打印
- RabbitMQ 管理端可以正常查閱發(fā)送記錄