我有 N 个 tombcat 服务器正在监听 Tibco EMS 队列。我必须发送N条消息,每条消息都必须由特定服务器处理(消息1必须由tomcat服务器1处理,...,消息N必须由服务器N处理)
由于消息将由随机机器接收,因此我需要在服务器 N-1 上拒绝消息 N,并将其返回到队列,直到它被服务器 N 处理..
我所做的,当接收到另一个队列的消息时,我在消息处理程序上抛出异常,但我真的不知道消息是否会返回到队列,并会被转发到其他实例? p>
Tibco EMS 未确认消息时重试是否有时间/次数限制?
最佳答案
第一:您是否考虑过使用以下任一方法:A - 每台服务器一个队列?还是基于消息选择器的B-A系统? (目标服务器 N 的名称由发送者写入 JMS 属性“DestName”中,每个 Tomcat 服务器订阅同一队列,但具有消息选择器“DestName=MyTomcatID”)。
如果以上都不可行,请记住 JMS transactions如果您希望将未提交的消息回滚到队列...并且下一次服务器读取是随机的...而不是循环,则必须使用。
关于java - 泰博EMS : not acknowledge message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32038375/