rabbit mq spring集成

customer:
<?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-3.1.xsd
    http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.3.xsd">

   <bean id="rabbitConnectionFactory" class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
		<property name="username" value="${base-mq.username}" />
		<property name="password" value="${base-mq.password}" />
		<property name="addresses" value="${base-mq.addresses}" />
		<property name="virtualHost" value="${base-mq.vhost}" />
   </bean>

   <rabbit:admin connection-factory="rabbitConnectionFactory" />

   <rabbit:queue  id="SPPARKINGVCQueue.NotifiCall"  name="SPPARKINGVCQueue.NotifiCall" durable="true" auto-delete="false"/>

   <!-- Rabbit MQ customer  begin -->
   <bean id="jsonConverterWithDefaultType"  class="org.springframework.amqp.support.converter.Jackson2JsonMessageConverter">
       <property name="classMapper">
           <bean class="org.springframework.amqp.support.converter.DefaultClassMapper">
                <property name="defaultType" value="com.zxq.iov.cloud.sp.parking.entity.TbPkInterVc"/>
           </bean>
       </property>
   </bean>
    
   <rabbit:listener-container connection-factory="rabbitConnectionFactory" concurrency="5" max-concurrency="10"  message-converter="jsonConverterWithDefaultType">
        <rabbit:listener ref="notificationServiceCallListener" method="listenInterfaceVc" queue-names="SPPARKINGVCQueue.NotifiCall" />
   </rabbit:listener-container>
 
   <bean id="notificationServiceCallListener" class="com.zxq.iov.cloud.sp.parking.mq.listener.NotificationServiceCallListener" />

</beans>


provider:
<?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-3.1.xsd
    http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.3.xsd">

	<bean id="rabbitConnectionFactory"
		class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
		<property name="username" value="${base-mq.username}" />
		<property name="password" value="${base-mq.password}" />
		<property name="addresses" value="${base-mq.addresses}" />
		<property name="virtualHost" value="${base-mq.vhost}" />
	</bean>

	<rabbit:admin connection-factory="rabbitConnectionFactory" />

	<bean id="jsonConverterWithDefaultType"
		class="org.springframework.amqp.support.converter.Jackson2JsonMessageConverter">
		<property name="classMapper">
			<bean class="org.springframework.amqp.support.converter.DefaultClassMapper">
				<property name="defaultType"
					value="com.zxq.iov.cloud.sp.parking.entity.TbPkInterVc" />
			</bean>
		</property>
	</bean>

	<rabbit:queue id="SPPARKINGVCQueue.NotifiCall" name="SPPARKINGVCQueue.NotifiCall"
		durable="true" auto-delete="false" />

	<!-- exchange queue binging key 绑定 -->
	<rabbit:direct-exchange id="PARKING_VC_MQ_exchange"
		name="PARKING_VC_MQ_exchange" durable="true" auto-delete="false">
		<rabbit:bindings>
			<rabbit:binding queue="SPPARKINGVCQueue.NotifiCall"
				key="SPPARKINGVCQueue.NotifiCall" />
		</rabbit:bindings>
	</rabbit:direct-exchange>

	<!-- spring template声明 -->
	<rabbit:template id="spParkingVcTemp" exchange="PARKING_VC_MQ_exchange"
		connection-factory="rabbitConnectionFactory" message-converter="jsonConverterWithDefaultType" />

</beans>

猜你喜欢

转载自javakill.iteye.com/blog/2396662