gpt4 book ai didi

java - Camel 作为 JMS 客户端

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:13 25 4
gpt4 key购买 nike

我正在使用 Camel 开发客户端/服务器请求/回复系统。

客户端和服务器使用两个 JMS 队列进行通信:请求队列和响应队列。

服务器端有一个 Camel 路由,它消耗请求队列中的JMS消息并同时处理消息。使用响应队列将响应发送回客户端。

客户端向JMS队列发送消息并等待响应。我有两个问题:

  1. 客户端实际上是一个将被其他应用程序使用的库。我也想在客户端使用 Camel,但不知道如何使用 Camel 作为“函数”,即在我的代码中的某个时刻,我需要“将此对象发送到此 Camel 路由”。我该如何做到这一点?

  2. camel 是否有使用两个队列处理请求/回复的标准方法?

非常感谢。

最佳答案

  1. 使用ProducerTemplate来自 CamelContext。它要求您在客户端的某个地方保留 Camel 上下文。

    您可以执行以下操作: ProducerTemplate.requestBody(myPayload,"jms:queue:whatever");

  2. Camel 可以使用 several different ways 处理请求回复。使用显式回复队列(无临时队列,默认情况下使用),您可以使用更快的独占模式:jms:queue:request.queue?replyTo=client1.replies&replyToType=Exclusive,但每个客户端需要一个唯一的队列。另一种选择是所有客户端的共享队列。 URI 如下所示:activemq:queue:request.queue?replyTo=shared.replies。请注意:共享回复队列将使用 JMS 选择器为每个客户端挑选消息,这会降低性能和往返延迟。

关于java - Camel 作为 JMS 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206955/

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