0

My application is deployed on Weblogic 10.3.5, i ran 2 scenarios:

  1. invoking 5000 times EJB (with transaction) that sends one message.
  2. invoking EJB (with transaction) that sends 5000 JMS messages.

the first scenario run smoothly but the second never ends, after 10 minutes OutOfMemory exception is dropped. I investigated the problem and i think it's happens because the messages are remain pending until the transaction is committed or rolled back.

More information:

  • Delivery mode is non-persistent
  • The session is auto acknowledged

Someone can recommend how i can send a massive number of JMS messages in one transaction?

Thanks in advance.

Maxim Kirilov
  • 2,639
  • 24
  • 49

1 Answers1

0

Yea, the message stack up until the transaction is committed. What are the contents of your messages? 5000, while a lot of messages, isn't a lot of overhead per message. But if your messages are large then its certainly going to be an issue. In that case you're probably stuck needing to increase the memory on your machine, or re-evaluate why you need to send 5000 in a single transaction, or even 5000 at all.

Will Hartung
  • 115,893
  • 19
  • 128
  • 203