1. 程式人生 > >訊息佇列-----生成者 Spring整合rabbitmq

訊息佇列-----生成者 Spring整合rabbitmq

最近做Spring結合Rabbitmq,然後往佇列裡面傳送了一個訊息,如何檢視訊息

開啟:http://127.0.0.1:15672

輸入使用者名稱和密碼:找到你的佇列

我們可以找到自己的佇列,並且發現裡面有一個訊息,我們點選這個佇列,進入:

可以看到這個佇列的這些基本的資訊 ,首先是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");
	}

就可以往訊息佇列裡面插入訊息了

希望對你有所幫助