-
1. Re: Jboss messaging with transactions and persistance optimi
gaohoward Sep 15, 2009 4:21 AM (in response to damian.sinczak)JBM 1.4 supports paging messages to DB to save memory. But it doesn't support large transactions so far.
-
2. Re: Jboss messaging with transactions and persistance optimi
damian.sinczak Sep 15, 2009 6:21 AM (in response to damian.sinczak)Ok I understand that. But my another question is when I'm putting massages in smaller transactions (e.g. 50 000 at once) the problem is the same. JBoss messaging allocates memory and doesn't free it until last message is delivered to recipient. In other words when I put 600 000 messages in separate transactions (50 000 messages each) the problem is the same. Only solution would be committing next next transaction only when those committed in previous one were all delivered (which means that whole allocated memory was released).
-
3. Re: Jboss messaging with transactions and persistance optimi
gaohoward Sep 15, 2009 6:48 AM (in response to damian.sinczak)You can configure the queue using proper fullSize parameter value to limit the memory usage in a queue. Please see the document for details.
-
4. Re: Jboss messaging with transactions and persistance optimi
damian.sinczak Sep 18, 2009 8:24 AM (in response to damian.sinczak)that didn't help. I don't know how exactly persistence works for jboss messaging but allocated memory is kept until last message is delivered.
-
5. Re: Jboss messaging with transactions and persistance optimi
gaohoward Sep 18, 2009 8:41 AM (in response to damian.sinczak)JBM treated transactional messages like this:
Each transaction has a in memory list to hold all its messages. When a transaction is being committed, it put those messages to the Queue for delivery. After the tx is committed, the associated list should be GCed.
The queue has paging functionality to prevent its memory from being used up. The fullSize is used to limit the num of messages that are hold in memory.
I think that will explain the situation you have.