前言:由于被测系统中的接口是离线处理,用到的中间件为rabbitmq,故这里一下我用到的测试类编写方式。
首先是xml配置的配置:
1、配置connection-factory连接工厂
<rabbit:connection-factory id="warehouseConnectionFactory" addresses="${krabbit.mq.host.ip}"
username="${krabbit.mq.username}"
password="${krabbit.mq.password}"
virtual-host="${krabbit.mq.vhost}"
thread-factory="rabbitThreadFactory"/>
2配置admin 这样生产者的queue和exchange才会在rabbitmq服务器上生成。这里依赖了连接工厂
<rabbit:admin connection-factory="warehouseConnectionFactory"></rabbit:admin>
3、定义队列queue
<rabbit:queue id="control2warehouseQueue" auto-delete="false" exclusive="false" name="${xiezhi.data.request}" durable="true"/>
4、定义交换机exchange,这里要用到queue
<rabbit:direct-exchange id="xiezhi.exchange" name="xiezhi.exchange" durable="true" auto-delete="false">
<rabbit:bindings>
<rabbit:binding queue="control2warehouseQueue" key="${xiezhi.data.request}"/>
</rabbit:bindings>
</rabbit:direct-exchange>
5、定义消息模板,注意这里要用到交换机、连接工厂、还有确认机制和消息转换,这些都有自己的单独的定义
<bean id="warehouseRabbitTemplate" class="org.springframework.amqp.rabbit.core.RabbitTemplate">
<property name="connectionFactory" ref="warehouseConnectionFactory"/>
<property name="exchange" value="xiezhi.exchange"/>
<property name="confirmCallback" ref="messageCallback"/>
<property name="messageConverter" ref="jsonMessageConverter"/>
</bean>
网友评论