5 Replies Latest reply on Nov 6, 2003 11:45 AM by Jochen Kressin

    Transacted sessions, memory, MessageCache

    Jochen Kressin Newbie

      Hi,

      i have an application which publishes several messages in a transacted session to a Queue (Using JBoss3.2.2). The messages are byte messages which together represent a file, therefore the need for a transacted session. I get an OutOfMemoryError when publishing the messages.
      I already played around with HighMemoryMark / MaxMemoryMark on the MessageCache without any success. The error occurs independently of Persistent / Nonpersistent delivery mode. BUT: Turning off the transaction solves the OutOfMemory. So here are my questions:

      1) If I use transacted sessions, are all messages published within the transaction held in memory until the transaction is commited?

      2) How is a group of messages in a transacted session processed - is each message passed to the MessageCache independently, or are all messages held in memory and after the commit passed as a whole?

      3) If anser to 1 is yes, can I turn this off or configure the maximum size of the messages held in memory? Decreasing the High- and MaxMemoryMark did not seem to have any effect.

      As i am trying to port an existing application from a BEA 7, unfortunately I cannot change the code (customer wont allow :(

      Thanks for any clarification on this issue, the doco is a little bit short on that!

      Jochen