我想使用java客户端的rabbitmq-consistent-hash-exchange的功能,或者最好使用spring abstract spring-amqp。不幸的是,我没有找到一个解释java用法并引用jar依赖项的示例,请提供建议。
答案 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;它有样本等的链接。