訊息佇列-----生成者 Spring整合rabbitmq
阿新 • • 發佈:2018-12-08
最近做Spring結合Rabbitmq,然後往佇列裡面傳送了一個訊息,如何檢視訊息
輸入使用者名稱和密碼:找到你的佇列
我們可以找到自己的佇列,並且發現裡面有一個訊息,我們點選這個佇列,進入:
可以看到這個佇列的這些基本的資訊 ,首先是overview:
Consumers:
當前佇列沒有消費者
GetMessages:
Publish Messages:
那麼java;如何向訊息佇列中傳送訊息:
rabbitmq-producer.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:context="http://www.springframework.org/schema/context" 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/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd"> <!-- 連線服務配置 --> <rabbit:connection-factory id="connectionFactory" host="127.0.0.1" username="guest" password="guest" port="5672" virtual-host="/" channel-cache-size="5" /> <rabbit:admin connection-factory="connectionFactory" /> <!-- queue 佇列宣告 --> <rabbit:queue durable="true" auto-delete="false" exclusive="false" name="spring.queue.tag" /> <!-- exchange queue binging key 繫結 --> <rabbit:direct-exchange name="spring.queue.exchange" durable="true" auto-delete="false"> <rabbit:bindings> <rabbit:binding queue="spring.queue.tag" key="spring.queue.tag.key" /> </rabbit:bindings> </rabbit:direct-exchange> <!-- spring amqp預設的是jackson 的一個外掛,目的將生產者生產的資料轉換為json存入訊息佇列,由於Gson的速度快於jackson,這裡替換為Gson的一個實現 --> <bean id="jsonMessageConverter" class="org.springframework.amqp.support.converter.Jackson2JsonMessageConverter"></bean> <!-- spring template宣告 --> <rabbit:template id="amqpTemplate" exchange="spring.queue.exchange" routing-key="spring.queue.tag.key" connection-factory="connectionFactory" message-converter="jsonMessageConverter" /> </beans>
:執行下面的程式:
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("rabbitmq-producer.xml");
AmqpTemplate amqpTemplate = context.getBean(RabbitTemplate.class);
amqpTemplate.convertAndSend("333");
}
就可以往訊息佇列裡面插入訊息了
希望對你有所幫助