This content has been marked as final. Show 6 replies
for performance reasons you should not use dedicated user connections to the database. Instead you use JDBC data sources (default in JDeveloper for ADF BC) that you can configure the database connection pooling for. This means that your v$session will always show a set of active session, which however are shared among users. Assuming you use ADF BC, this is what happens
- A user requests a data bound page
- The ADF BC checks out an AM and connects to the database using one of the database connections in the pool
... user work here ...
- user exits application
- ADF BC returns AM to pool and passivates pending user state (if application is left with dirty transaction)
- Database connection is available in pool as soon as AM released
This also happens between requests. Long story cut short: v$session doesn't give you a true picture
I read the document and I changed the application module properties as to jbo.doconnectionpooling = true and jbo.txn.disconnect_level = 1 but this does not kill the sessions.I executed the query "v$session" again and the sessions are still exist.
This is strange. In oracle Forms 10g this is not happened . I have Oracle Forms application , and when i run the forms application and perform log in , a new session is created . And when I just close the browser , the session is killed automatically .
In fact , the problem is that I have implemented dynamic jdbc credential in my ADF application. In other words , the log in account is actually a database user.And the problem is that every user has a limited number of maximum sessions - five sessions- that he can creates.
I want to kill the user sessions after the user log out from the application.