当前位置: 首页 > 知识库问答 >
问题:

带RabbitMQ的Camel 2.12路由

段干博涉
2023-03-14

我一直试图使用2.12.1-snapshot中的RabbitMQComponent版本让camel进行路由。这样做,我可以很容易地消费,但在路由到另一个队列时会遇到ad问题。

CamelContext context = new DefaultCamelContext();

context.addComponent("rabbit-mq", factoryComponent());

from("rabbit-mq://localhost/test.exchange&queue=test.queue&username=guest&password=guest&autoDelete=false&durable=true")
.log("${in.body}")
.to("rabbit-mq://localhost/out.queue&routingKey=out.queue&durable=true&autoAck=false&autoDelete=false&username=guest&password=guest")
.end();

在这篇文章中,我已经验证了指定的交换机是否配置了适当的路由密钥。我注意到,我能够大量消费,但不能生产到out.queue。

以下是对处理消息的RabbitMQProducer的唯一引用。

09:10:28,119 DEBUG RabbitMQProducer[main]: - Starting producer: Producer[rabbit-mq://localhost/out.queue?autoAck=false&autoDelete=false&durable=true&password=xxxxxx&routingKey=out.queue&username=guest]
09:10:48,238 DEBUG RabbitMQProducer[Camel (camel-1) thread #11 - ShutdownTask]: - Stopping producer: Producer[rabbit-mq://localhost/out.queue?autoAck=false&autoDelete=false&durable=true&password=xxxxxx&routingKey=out.queue&username=guest]

我花了很多时间研究了RabbitMQ组件的Camel单元测试,但没有看到任何非常有价值的用途。有没有人能把它弄好?

共有1个答案

严琨
2023-03-14

我是用spring DSL做的。这是我用的网址。在java dsl中端口号不是必需的吗?

rabbitMQ://localhost:5672/subscribeExchange?queue=subscribequeue&durable=true&username=guest&password=guest&routingkey=subscribe

 类似资料:
  • 很好的一天。 有没有办法通过基于浏览器的UI检索现有交换(扇出或主题)的路由密钥? 我无法访问客户端源代码(生产者)以查看正在将哪些路由密钥发送到模型。 非常感谢。 编辑:想法是尝试锁定现有的扇出交换(我无法重新配置)。我想创建一个新的exchange,将其绑定到此exchange,并只过滤掉某些消息。

  • 在proxy中,我要发送给RabbitMQ: 在endpoint: 但当我将它发送到rabbitMQ服务器时,我发现了一个错误: [2016-06-27 17:07:00,388]warn-faulthandler ERROR_EXCEPTION:org.apache.synapse.synapseexception:发送消息时出现意外错误[2016-06-27 17:07:00,388]warn

  • 在学习RabbitMq中,有几种情况我不太知道怎么回事: 情况一 假如我定义了一个队列test,他没有显示绑定交换机,那么会自动绑定到默认交换机,那么这个时候绑定键bindkey是不是队列名字test??现在生产者发了一个消息,假如这个消息没有定义路由键routingKey,那么这个时候消息会被路由到队列test吗? 情况二 假如我定义了一个队列test1和test2,他们也是没有显示绑定交换机,

  • 我正在尝试使用声明列表为RabbitMQ配置铲子插件。我已将远程exchange配置为在创建时具有备用exchange。 我的问题是,我无法让slot的配置文件包含这个参数,所以RabbitMQ在启动时崩溃。 这是我的配置的样子: 问题出在名为my-exchange-topic的目的交换上。如果我去掉声明部分,那么配置文件就工作了。 这是错误: =INFO REPORT==== 31-Jul-20

  • 我在做一些关于Camel-CXf集成的研究,对下面的场景感到困惑。 所以我实现了一个Restendpoint 实现如下 } 路线 将其路由到实现中。但是由于实现返回一个响应对象,我不知道如何绕过这个对象构建路由。 一旦调用进入实现,我如何执行其他路由并发送回响应?在这种情况下,实现返回一个自定义对象。 其他路由如何附加到 CXF 路由? 我的 CXF 实现是否应该始终返回无效类型?如我所见,要访问

  • 我已经实现了如下所示的示例Spring Dynamic Destination 在rabbitmq中,它动态地创建一个交换,但没有提供绑定或路由密钥的选项。我的要求是用路由密钥向这个动态创建的exchange发送消息。我需要如何实现这一点来设置路由密钥?