首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Websphere中的JMS队列优先级问题

Websphere中的JMS队列优先级问题
EN

Stack Overflow用户
提问于 2015-01-14 13:02:06
回答 2查看 785关注 0票数 0

需求:I需要我的消息驱动bean ( MDB )能够从四个不同的队列中读取消息,并且应该根据队列的优先级读取消息。

假设-我有4个JMS队列A、B、C和D,优先级分别为8(最高)、7、6和5。所以,如果队列C中有500条消息,而队列A和B是空的。我的MDB应该使用来自队列C的消息。但是,当我在高优先级队列(A或B)中收到消息时,MDB应该停止从C中读取消息,并使用来自较高优先级队列的消息(直到队列为空),然后继续从低优先级队列中消费。

设置完成:,我正在使用JMS7.0,并在管理控制台中正确地设置了JMS队列的优先级。

高级性能

*优先权:指定

具体优先次序: 8*

问题:,但我的MDB仍然无法按预期读取。更重要的是,需要配置才能实现我的需求。

请做必要的事。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-01-14 13:44:05

MDB在任何时候都只能从单个队列中驱动。来自该队列的消息将按优先级顺序使用。如果在发送消息时没有赋予优先级,则队列上设置的优先级是消息的默认优先级。

因此,在一组队列之间移动MDB是不可能的。

如果您希望单个使用者总是获得最高优先级的消息,则需要一个队列和一个MDB。或者,创建多个队列并在其中拆分消息--不同的MDB处理不同的优先级。

票数 0
EN

Stack Overflow用户

发布于 2015-01-14 14:28:18

对于您的场景,您只需要一个队列,并将具有不同优先级的消息放到队列中。MDB将根据优先次序读取消息。不要在WebSphere中的队列设置中设置任何优先级,但应用程序在将消息放入队列时必须正确设置优先级。MDB只能在单个队列上侦听。

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

https://stackoverflow.com/questions/27943588

复制
相关文章

相似问题

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