首页 文章

如何抑制ActiveMQ中的排序?

提问于
浏览
1

我有一个 生产环境 者和一个消费者的消息队列用于异步请求,保证传递并应用一些超时策略 . 订购这些消息没有意义 . 每条消息都是彼此隔离的,并拥有自己的业务场景 . 所以我不需要在消息队列中进行任何排序 . 但问题是队列被第一条无法传递的消息阻止 . 其他消息是正确的并且准备以正确的方式处理,但是他们必须等待“坏”消息被传递 .

Java和JMS与Spring在队列客户端上 .

是否可以在没有任何排序的情况下制作ActiveMQ队列,但每条消息都有单独的重新传递超时?

2 回答

  • 2

    解决此问题的最佳方法是在一组队列中使用每个消息类型的队列或一些其他类似的消息逻辑分区 .

    JMS队列的功能与名称完全相同,先进先出 . 有一个选项可以使用消息优先级来允许消息跳转,但是根据队列深度等有很多限制 .

    你最好将你的域分成一些逻辑的队列,并为每个队列消耗 .

  • 0

    您是否处于“FIFO”情景中?即必须保留处理顺序?如果没有,请启动多个使用者(例如,在WebSphere中为多个MDB实例设置激活规范上每个服务器的“从属”数)和/或为您的消息分配不同的JMSpriority以首先处理“更紧急”的消息

相关问题