以编程方式使MDB等待/休眠一段时间

时间:2015-04-15 15:13:03

标签: java weblogic11g ejb-2.x

我们有一个MDB流程,它读取消息,处理消息并将其发布到下游xpression应用程序使用的另一个队列。

无论何时出现重负载,这个下游应用程序都无法以我们发布的速率使用它,从而导致其接口应用程序的延迟。

我们需要一个解决方案来阻止我们的消息。所以这里的问题是你如何减慢MDB进程消耗消息的速度?

我们的解决方案是在达到某个阈值(这对我们的下游应用程序是安全的)之后,通过调用Thread.sleep(一段时间)来阻止我们的MDB消耗来自队列的消息。

但是这个设计有自己的缺陷,如果线程没有恢复的话。你是如何管理它的?

还有没有其他更好的机制来处理这个甚至没有使用thread.sleep()?

该应用程序在weblogic上。

0 个答案:

没有答案