SpringBoot gradle 中使用RabbitMQ(二)

2017-08-08  本文已影响0人  表象_Dark

发送端服务器

注册队列 -- 配置文件实现

@Configuration
public class RabbitConfig {
    //注册队列
    @Bean
    public Queue Queue(){
        return new Queue("hello");
    }
}

消息发送

@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);
    }
}

接收端服务器

实现方式一

@Component
@RabbitListener(queues = "hello")
public class MessageReceiver {
    
    @RabbitHandler
    public void process(@Payload String foo) {
        System.out.println(foo);
    }
}

实现方式二:

@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 为当前服务的启动类

测试过程

期望值

上一篇 下一篇

猜你喜欢

热点阅读