對于一個直接創建的springBoot專案工程來說,可以按照以下步驟使用rabbitmq
- 添加依賴:添加rabbitMQ的依賴,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
- 配置連接:在組態檔中配置虛擬主機、埠號、用戶名、密碼等資訊,
spring:
rabbitmq:
host: localhost
port: 5672
virtual-host: {你的虛擬主機}
username: {你的用戶名}
password: {你的密碼}
- 創建生產者:匯入對應依賴后,使用rabbitTemplate,并呼叫convertAndSend來發送訊息,
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage(String message) {
rabbitTemplate.convertAndSend("exchangeName", "routingKey", message);
}
來發送訊息,
- 創建消費者:使用
@RabbitListener
注解在訊息處理方法上,指定監聽的佇列名稱,并在方法引數中接收訊息,
@RabbitListener(queues = "queueName")
public void receiveMessage(String message) {
// 處理接收到的訊息
System.out.println("Received message: " + message);
}
- 撰寫配置類,使用@Bean注解在對應的方法上把方法的回傳值(將佇列,交換機等資訊)交由spring管理,
// 交換機名稱
public static final String ITEM_TOPIC_EXCHANGE = "item_topic_exchange";
// 佇列名稱
public static final String ITEM_QUEUE = "item_queue";
//宣告交換機
@Bean
public Exchange exchange(){
return ExchangeBuilder.topicExchange(ITEM_TOPIC_EXCHANGE).durable(true).build();
}
//宣告佇列
@Bean
public Queue queue(){
return QueueBuilder.durable(ITEM_QUEUE).build();
}
//佇列系結到交換機
@Bean
public Binding binding(Queue queue,Exchange exchange){
return BindingBuilder.bind(queue).to(exchange).with("item.#").noargs();
}
- 啟動應用程式或者寫測驗類,
@Autowired
RabbitTemplate rabbitTemplate;
@Test
public void testSendMessage(){
rabbitTemplate.convertAndSend(RabbitmqConfig.ITEM_TOPIC_EXCHANGE, "item.insert", "新增商品的訊息~~");
System.out.println("訊息發送成功");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/555251.html
標籤:其他
下一篇:返回列表