拉消息的消費(fèi)者
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ConsumerGet {
public static void main(String[] args) throws Exception {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("spring-rabbit.xml");
RabbitTemplate template = context.getBean(RabbitTemplate.class);
Message receive = template.receive("queue.msg");
//報文頭中的消息編碼
String encoding = receive.getMessageProperties().getContentEncoding();
System.out.println("收到的消息:" + new String(receive.getBody(), encoding));
context.close();
}
}
spring-rabbit.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rabbit="http://www.springframework.org/schema/rabbit"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/rabbit
http://www.springframework.org/schema/rabbit/spring-rabbit.xsd">
<!--配制連接工廠-->
<rabbit:connection-factory id="connectFactory"
host="node1" virtual-host="/"
username="root" password="123456"
port="5672"
></rabbit:connection-factory>
<!--用于自動向RabbitMQ聲明隊列、交換器、綁定 等操作工具類-->
<rabbit:admin id="rabbitAdmin" connection-factory="connectFactory"></rabbit:admin>
<!--用于簡化操作的模板類-->
<rabbit:template connection-factory="connectFactory" id="rabbitTemplate"/>
<!--聲明隊列隊列-->
<rabbit:queue id="msg1" name="queue.msg" durable="false" exclusive="false" auto-delete="false"></rabbit:queue>
</beans>
當(dāng)啟動消費(fèi)者后,便可獲取到發(fā)送至隊列的消息
收到的消息:hello world
檢查隊列的消息的情況:
[root@nullnull-os ~]# rabbitmqctl list_queues --formatter pretty_table
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
┌───────────┬──────────┐
│ name │ messages │
├───────────┼──────────┤
│ queue.msg │ 0 │
└───────────┴──────────┘
經(jīng)過檢查確認(rèn),發(fā)現(xiàn)消息已經(jīng)被消費(fèi)了。文章來源:http://www.zghlxwxcb.cn/news/detail-697575.html
至此拉模式的消費(fèi)者完成。文章來源地址http://www.zghlxwxcb.cn/news/detail-697575.html
到了這里,關(guān)于Spring整合RabbitMQ-配制文件方式-3-消息拉模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!