I got an ADF 11g application containing 29 AMs and something strange is happening to me, let me tell you the story. We saw some long operations in DB of the form
insert into "PS_TXN" values (:1, :2, :3, :4, sysdate)
which as you better know relates to passivating AM state. I read that setting jbo.txn.disconnect_level=1 and jbo.doconnectionpooling=true will do the passivation in memory so there will be no inserts into PS_TXN anymore. So, for every single AM I changed the mentioned settings (for local configuration which is the default configuration). Now, I wonder that still some inserts into "PS_TXN" happens. Where do they come from? Am I missing some settings?
The combination of jbo.doconnectionpooling=true & jbo.txt.disconnect_level=1 do not stop passivation to the database, but rather make it much more unlikely. It will passivate to the database if the system is under load and an AM needs to be used by another session.
Can you advise where you read the option combination only passivates to memory please?
It didn't read it on oracle's official documentation, actually this post http://andrejusb.blogspot.com/2011/11/stress-testing-oracle-adf-bc_16.html in Andrejus's blog say's:
Performance boost is achieved, because passivation/activation circle happens in memory (data remains in memory) - data is not being stored into PS_TXN table, this allows to save execution time.
But in another post ( http://andrejusb.blogspot.com/2011/10/adf-bc-tuning-with-do-connection.html ) he say's what you mentioned:
... It will passivate/activate as expected, only if AM instance will be granted to another session (situation when no free AM instances in the pool)
So, I was wrong about this and your point made it clear for me. Thank you very much.