与java-client / spring-rabbit的rabbitmq-consistent-hash-exchange

时间:2015-06-30 15:05:53

标签: rabbitmq spring-rabbit spring-rabbitmq

我想使用java客户端的rabbitmq-consistent-hash-exchange的功能,或者最好使用spring abstract spring-amqp。不幸的是,我没有找到一个解释java用法并引用jar依赖项的示例,请提供建议。

2 个答案:

答案 0 :(得分:3)

“x-”交换没有特定标记。使用CustomExchange:

   <bean id="requestHashExchangeTest" class="org.springframework.amqp.core.CustomExchange">
        <constructor-arg name="name" value="test.hash.RequestExchange"/>
        <constructor-arg name="type" value="x-consistent-hash"/>
        <constructor-arg name="durable" value="true"/>
        <constructor-arg name="autoDelete" value="false"/>
        <property name="adminsThatShouldDeclare">
            <list>
                <ref bean="rabbitAdminConnectionFactory" />
            </list>
        </property>
    </bean>

    <bean name="binding"  class="org.springframework.amqp.rabbit.config.BindingFactoryBean">
        <property name="exchange" value="test.random.RequestExchange" />
        <property name="destinationQueue" ref="request.queue" />
        <property name="shouldDeclare" value="true" />
        <property name="adminsThatShouldDeclare">
            <list>
                <ref bean="rabbitAdminConnectionFactory" />
            </list>
        </property>
        <property name="routingKey" value="10" />
    </bean>

答案 1 :(得分:0)

不支持使用Spring AMQP配置(声明)插件交换,但您可以将消息发送到服务器上配置的任何交换类型。

只需将交换直接添加到rabbitmq,然后像发送任何交换一样向其发送消息。

有关如何使用Spring AMQP,请参阅reference documentation;它有样本等的链接。