发送到虚拟主题的消息将被分派到每个名为“Consumer.*.VirtualTopic.”的队列,这样的消息是否可能仅被分派到匹配条件的特定队列,而不是映射的所有队列到虚拟话题?
问问题
431 次
1 回答
0
如果您预先知道只有一定数量的消费者/队列,您可以使用复合目的地而不是虚拟目的地,并使用filteredDestination
块来根据消息头做出路由决策。
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<compositeQueue name="orders">
<forwardTo>
<filteredDestination selector="odd = 'yes'" queue="orders.odd"/>
<queue physicalName="orders.accounting" />
<queue physicalName="orders.warehouse" />
<queue physicalName="orders.crm" />
</forwardTo>
</compositeQueue>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
对于更复杂的路由决策,您应该考虑使用外部路由引擎,例如 Apache Camel。
于 2013-10-14T10:11:02.997 回答