package com.zy.acs.hex.consumer;
|
|
import com.rabbitmq.client.Channel;
|
import com.zy.acs.hex.constant.RabbitConstant;
|
import com.zy.acs.hex.consumer.listener.AbstractListener;
|
import com.zy.component.influxdb.service.InfluxDBService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.amqp.rabbit.annotation.*;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.support.AmqpHeaders;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.messaging.handler.annotation.Header;
|
import org.springframework.stereotype.Component;
|
|
import java.io.IOException;
|
|
/**
|
* 消费者
|
*/
|
@Slf4j
|
@Component
|
@RabbitListener(bindings = @QueueBinding(
|
value = @Queue(name = RabbitConstant.TOPIC_QUEUE_UP, durable = RabbitConstant.DURABLE),
|
exchange = @Exchange(name = RabbitConstant.TOPIC_EXCHANGE, type = RabbitConstant.TOPIC_EXCHANGE_TYPE),
|
key = RabbitConstant.ROUTING_KEY_UP
|
))
|
public class UpMessageListener implements AbstractListener {
|
|
|
|
@Autowired
|
private RabbitTemplate rabbitTemplate;
|
|
|
@Autowired
|
private InfluxDBService influxDBService;
|
|
|
@RabbitHandler
|
public void handle(String msg, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long tag) {
|
log.info("receive up message: {}" , msg);
|
try {
|
channel.basicAck(tag,true);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
// 进入消息消费业务逻辑。
|
//String data = new String(message.getBody());
|
//log.info("收到消息:{}" ,data );
|
//influxDBService.writeData();
|
}
|
|
|
|
|
}
|