RabbitMQ In JAVA

1. 编写连接rabbitmq的配置文件application.properties :

spring.application.name=spring-boot-rabbitmq
spring.rabbitmq.host=10.0.3.137
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=123456
spring.rabbitmq.virtual-host=/
#spring.rabbitmq.publisher-confirms=true
#spring.rabbitmq.publisher-returns=true

spring.rabbitmq.listener.simple.concurrency=5
spring.rabbitmq.listener.simple.max-concurrency=10
spring.rabbitmq.listener.simple.acknowledge-mode=auto

server.port=8080

2. 生成者 :

@GetMapping(value = "/sendString")
    public String sendString() {
//        CorrelationData correlationData = new CorrelationData();
//        correlationData.setId("Saber");
//        correlationData.setReturnedMessage();
        rabbitTemplate.convertAndSend("demo", "demo.archer", "hello, world");
        return "消息已发送";
    }

    @GetMapping(value = "/sendObject")
    public String sendObject() {
        UserEntity userEntity = new UserEntity();
        userEntity.setName("allen");
        userEntity.setAddress("山东济南");
        rabbitTemplate.convertAndSend("demo", "demo.archer", userEntity);
        return "消息已发送";
    }

3. 消费者 :

@Component
@RabbitListener(queues = "archer")
public class HelloReceiver {

    @RabbitHandler
    public void process(String hello, @Headers Map<String, Object> headers, Channel channel) throws IOException {
        System.out.println("消息接受为:{" + hello + "}");
//        Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
//        channel.basicAck(deliveryTag, false);
    }

    @RabbitHandler
    public void process(UserEntity userEntity) {
        System.out.println("消息接受为:" + userEntity);
    }
}

4. 项目地址 :
https://gitee.com/winchelltest/rabbitmq-test

转载于:https://my.oschina.net/winchell/blog/3086101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值