1. pom.xml添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2. application.properties配置
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
3. RabbitConfig队列配置
@Configuration
public class RabbitConfig {
@Bean
public Queue helloQueue() {
return new Queue("hello");
}
}
4. HelloSender发送者
@Component
public class HelloSender {
private static Logger logger = Logger.getLogger(HelloSender.class);
@Autowired
private AmqpTemplate rabbitTemplate;
public void send(String message) {
rabbitTemplate.convertAndSend("hello", message);
logger.info(String.format("send message: %s", message));
}
}
5. HelloReceiver接收者
@Component
@RabbitListener(queues = "hello")
public class HelloReceiver {
private static Logger logger = Logger.getLogger(HelloReceiver.class);
@RabbitHandler
public void process(String message) {
logger.info(String.format("receive message: %s", message));
}
}
6. HelloTest测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloTest {
@Autowired
private HelloSender helloSender;
@Test
public void test() {
helloSender.send("hello world");
}
}
7. 测试结果
send message: hello world
receive message: hello world