springboot整合rabbitmq
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
config
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitConfig {
@Bean
public Queue getQueue() {
return new Queue("test-queue", true, false, false);
}
}
生产者
@Component
public class Sender {
@Autowired
private RabbitTemplate rabbitTemplate;
public void send(String msg){
rabbitTemplate.convertAndSend("","test-queue",msg);
System.out.println("消息发送成功");
}
消费者
@RabbitListener(queues = "test-queue", ackMode = "AUTO")
public void receiver(String message, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long tag) throws IOException {
log.info("接收到 monitorDeviceNetWorkSender 的消息为:"+message);
DeviceOnline deviceOnline = JSON.parseObject(message, DeviceOnline.class);
deviceOnlineService.updateDeviceNetworkStatus(deviceOnline);
}