首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache Camel处理不同优先级的JMS消息

使用Apache Camel处理不同优先级的JMS消息
EN

Stack Overflow用户
提问于 2013-12-06 14:11:59
回答 1查看 1.3K关注 0票数 1

我正在解决处理具有不同优先级的JMS消息的问题。我使用Apache框架作为EIP实现,我有两个队列,我必须使用它们。第一个包含优先级较高的消息,第二个包含优先级较低的消息。

现在,我想创建一个包含循环的特殊组件“混合器”,执行以下步骤:

  1. 查看优先级队列
    • 如果它包含一条消息,它将把它发送到输出队列并进入循环的开始(如果它包含大量消息,它将处理前10条消息,然后转到步骤2)
    • 如果它不包含任何消息,请转到步骤2。

  1. 查看第二个队列
    • 如果包含消息,则将其发送到输出队列(但只有一条消息)并重复循环。
    • 如果它不包含任何消息,则重复该循环。

正如您所看到的,如果有大量消息(10来自优先级队列/1来自第二个队列),我想保持一个特殊的比率。如果优先级队列中没有消息,我们可以立即处理第二个队列中的消息。我想要一些类似的东西,它将从多个输入队列中消耗。

我寻找一条骆驼路线,在那里我将从两个队列中消费,在那里我将有一个上面描述的我的组件"Mixer“。我想要这样的东西:

代码语言:javascript
复制
<route>
  <from id="A" />
  <from id="B" />
  <resequence id="mixer" />
  <to id="C" />
</route>

但我没找到办法去做。一个路径只能有一个输入。如果有更多的输入,Camel将在内部复制路由(我们将有两个独立的路径),其行为如下:

代码语言:javascript
复制
<route>
  <from id="A" />
  <resequence id="mixer" />
  <to id="C" />
</route>

<route>
  <from id="B" />
  <resequence id="mixer" />
  <to id="C" />
</route>

就像在这里。这不是我想要的:-你有什么办法解决我的问题吗?提前感谢!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20425966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档