0

我的应用程序部署在 Weblogic 10.3.5 上,我运行了 2 个场景:

  1. 调用 5000 次发送一条消息的 EJB(带有事务)。
  2. 调用发送 5000 条 JMS 消息的 EJB(带有事务)。

第一个场景运行顺利,但第二个场景永远不会结束,10 分钟后 OutOfMemory 异常被丢弃。我调查了这个问题,我认为这是因为在事务提交或回滚之前消息一直处于未决状态。

更多信息:

  • 交付模式是非持久的
  • 会话被自动确认

有人可以推荐我如何在一个事务中发送大量 JMS 消息?

提前致谢。

4

1 回答 1

0

是的,在事务提交之前,消息会一直堆积。您的留言内容是什么?5000,虽然有很多消息,但每条消息的开销并不大。但是,如果您的消息很大,那么它肯定会成为一个问题。在这种情况下,您可能需要增加机器上的内存,或者重新评估为什么需要在单个事务中发送 5000 甚至 5000。

于 2012-06-11T05:21:10.150 回答