1、maven依赖
<!-- rabbitMQ依赖 -->
<!-- spring相关的其他依赖请参考源码,此处不做过多描述 -->
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
2 、 spring-rabbit 配置
2.1、配置rabbitMQ连接
(1)采用<rabbit/>方式配置连接
<rabbit:connection-factory id="connectionFactory"
host="${rabbitmq.host}"
port="${rabbitmq.port}"
username="${rabbitmq.username}"
password="${rabbitmq.password}"
virtual-host=""
publisher-confirms="true"
publisher-returns="true"
channel-cache-size="5"
/>
(2)采用普通方式配置连接
<bean id="connectionFactory"
class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
<constructor-arg value="${rabbitmq.host}" />
<property name="username" value="${rabbitmq.username}" />
<property name="password" value="${rabbitmq.password}" />
<property name="port" value="${rabbitmq.port}" />
<!-- 缓存中要维护的通道数 -->
<property name="channelCacheSize" value="5" />
<!-- 开启发送确认机制 -->
<property name="publisherConfirms" value="true"/>
<!-- 开启结果返回机制 -->
<property name="publisherReturns" value="true"/>
</bean>
2.2、配置RabbitAdmin
<rabbit:admin connection-factory="connectionFactory" />
2.3、定义Queue
<rabbit:queue name="queueTest" durable="true" auto-delete="false"
exclusive="false" />
常用参数解释:
durable:是否持久化
auto-delete:是否当没有连接时自动删除
exclusive:是否只能由创建者使用
2.4、定义Exchange,并绑定Queue
(1)定义direct类型
<rabbit:direct-exchange name="exchangeTest"