以下是Spring Boot中使用RabbitMQ的示例代码的完整攻略,包含两个示例说明。
示例1:使用Spring Boot发送和接收消息
步骤1:添加依赖
在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
步骤2:配置RabbitMQ连接
在application.properties文件中添加以下配置:
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
步骤3:编写生产者代码
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Producer {
@Autowired
private AmqpTemplate amqpTemplate;
public void send(String message) {
amqpTemplate.convertAndSend("myQueue", message);
System.out.println("Sent message: " + message);
}
}
步骤4:编写消费者代码
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
public class Consumer {
@RabbitListener(queues = "myQueue")
public void receive(String message) {
System.out.println("Received message: " + message);
}
}
步骤5:运行代码
在Spring Boot应用程序中运行生产者和消费者代码。
步骤6:查看结果
在控制台中,您将看到生产者发送的消息和消费者接收的消息。
示例2:使用Spring Boot实现消息确认和重试
步骤1:添加依赖
同示例1。
步骤2:配置RabbitMQ连接
同示例1。
步骤3:配置消息确认和重试
在application.properties文件中添加以下配置:
spring.rabbitmq.listener.simple.acknowledge-mode=manual
spring.rabbitmq.listener.simple.retry.enabled=true
spring.rabbitmq.listener.simple.retry.max-attempts=3
spring.rabbitmq.listener.simple.retry.initial-interval=5000
spring.rabbitmq.listener.simple.retry.multiplier=2
步骤4:编写生产者代码
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Producer {
@Autowired
private RabbitTemplate rabbitTemplate;
public void send(String message) {
rabbitTemplate.convertAndSend("myQueue", message, new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws AmqpException {
message.getMessageProperties().setExpiration("10000");
return message;
}
});
System.out.println("Sent message: " + message);
}
}
步骤5:编写消费者代码
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
public class Consumer {
@RabbitListener(queues = "myQueue")
public void receive(Message message, Channel channel) throws IOException {
try {
System.out.println("Received message: " + new String(message.getBody()));
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} catch (Exception e) {
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
}
}
}
步骤6:运行代码
在Spring Boot应用程序中运行生产者和消费者代码。
步骤7:查看结果
在控制台中,您将看到生产者发送的消息和消费者接收的消息。如果消息处理失败,它将被重新排队并重试。如果重试次数超过了最大次数,消息将被丢弃。
以上就是Spring Boot中使用RabbitMQ的示例代码的完整攻略,包含两个示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot中使用RabbitMQ的示例代码 - Python技术站