gpt4 book ai didi

apache-camel - 避免与 RabbitMQ 和 Camel 自动绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 04:41:03 27 4
gpt4 key购买 nike

我正在尝试将 RabbitMQ 与 Camel 结合使用。我正在使用 Camel 2.14.1。

我想在 RabbitMQ 上打开一个扇出交换器,然后将队列绑定(bind)到它。这似乎工作正常。但是,每次我创建一个 Exchange 时,它​​都会自动绑定(bind)到一个系统名称(一个数字)的队列中。我不能避免吗?这是一个向 Exchange 发布 100 条消息的简单示例。但是它们被传送到一个自动创建的队列,我想避免这种情况。

  @Override
public void configure() throws Exception
{
final String testGUID = "xxxx";
from("timer://publish?repeatCount=100&period=10&fixedRate=true").process(new Processor()
//from("timer://publish?repeatCount=100&period=1&fixedRate=true").process(new Processor()

{
@Override
public void process(Exchange _exchange) throws Exception
{
String message = String.valueOf(_exchange.getProperty(Exchange.TIMER_COUNTER));
_exchange.getOut().setBody(message+testGUID);
}
})
.to("rabbitmq://localhost/exchange=logs1237?autoDelete=false&username=guest&password=guest&exchangeType=fanout");

}

最好的问候,莫腾·克努森

更新:从源代码来看,如果 RabbitMQEndPoint 中的“队列”不为空,则会触发自动队列。但是“队列”自动分配给“String.valueOf(UUID.randomUUID().toString().hashCode());”在施工中。

最佳答案

如果您不想将交换器与队列绑定(bind),您可以将 declare 选项设置为 false。顺便说一句,声明选项是自 Camel 2.14.0 以来新添加的。

关于apache-camel - 避免与 RabbitMQ 和 Camel 自动绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27550496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com