生产者
bootstrap.yml
spring:
application:
name: spring-boot-amqp
rabbitmq:
host: 192.168.106.140
port: 5672
username: rabbit
password: 123456
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
创建队列配置
@Configuration
public class RabbitMQConfiguration {
@Bean
public Queue queue() {
return new Queue("rabbitmq");
}
}
创建消息提供者
@Component
public class HelloRabbitProvider {
@Autowired
private AmqpTemplate amqpTemplate;
public void send() {
String context = "hello rabbitmq: " + new Date();
System.out.println(context);
amqpTemplate.convertAndSend("rabbitmq", context);
}
}
创建测试用例
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class AmqpTest {
@Autowired
private HelloRabbitProvider helloRabbitProvider;
@Test
public void testSender() {
for (int i = 0; i < 10; i++) {
helloRabbitProvider.send();
}
}
}
消费者
bootstrap.yml
spring:
application:
name: spring-boot-amqp-consumer
rabbitmq:
host: 192.168.106.140
port: 5672
username: rabbit
password: 123456
创建消息消费者
@Component
@RabbitListener(queues = "rabbitmq")
public class HelloRabbitConsumer {
@RabbitHandler
public void process(String message) {
System.out.println("Consumer: " + message);
}
}