设为首页 加入收藏

TOP

Java连接RabbitMQ实例(三)
2019-08-04 00:14:07 】 浏览:184
Tags:Java 连接 RabbitMQ 实例
ework.messaging.handler.annotation.Headers;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.stereotype.Service;


import com.hys.springboot.config.RabbitMQConfig;
import com.hys.springboot.entity.Order;
import com.hys.springboot.service.IRabbitReceiverService;
import com.rabbitmq.client.Channel;


@Service
public class RabbitReceiverServiceImpl implements IRabbitReceiverService {


 private static final Log logger = LogFactory.getLog(RabbitReceiverServiceImpl.class);


 @RabbitListener(bindings = @QueueBinding(value = @Queue(value = RabbitMQConfig.TOPIC_QUEUE, durable = "true"), exchange = @Exchange(value = RabbitMQConfig.TOPIC_EXCHANGE, durable = "true", type = ExchangeTypes.TOPIC), key = RabbitMQConfig.TOPIC_ROUTINGKEY))
 @RabbitHandler
 @Override
 public void receiveTopicMessage(Message<Object> message, Channel channel) throws IOException {
 if (logger.isDebugEnabled()) {
 logger.debug("消费端Payload:" + message.getPayload());
 }
 Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
 //手工ack
 channel.basicAck(deliveryTag, false);
 }


 @RabbitListener(bindings = @QueueBinding(value = @Queue(value = RabbitMQConfig.DIRECT_QUEUE, durable = "true"), exchange = @Exchange(value = RabbitMQConfig.DIRECT_EXCHANGE, durable = "true", type = ExchangeTypes.DIRECT), key = RabbitMQConfig.DIRECT_ROUTINGKEY))
 @RabbitHandler
 @Override
 public void receiveOrderTopicMessage(@Payload Order order, Channel channel, @Headers Map<String, Object> headers) throws IOException {
 if (logger.isDebugEnabled()) {
 logger.debug("消费端Payload:" + order);
 }
 Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
 //手工ack
 channel.basicAck(deliveryTag, false);
 }
}


首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PHPH实现水仙花数的5个示例 下一篇Java class 文件简介

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目