Monday, June 17, 2013

Fix for View Criteria Search Results with DB Pooling Enabled

In order to minimize DB connections usage and optimize ADF runtime performance, I often prefer to enable DB pooling and keep data between requests in memory (jbo.doconnectionpooling = true and jbo.txn.disconnect_level = 1). Read more in this post - Stress Testing Oracle ADF BC Applications - Do Connection Pooling and TXN Disconnect Level. There is one bug related to the View Criteria search results - rows are not always displayed correctly. I will describe the fix.

Sample application - SearchRefreshDBPoolApp.zip is enabled with DB pooling:


Disconnect level is set to 1 to keep data between requests in memory:


Do a search for the last employee in the rowset - Gietz:


As soon as results list will be filtered:


Clear up search criteria for the LastName and search again with blank criteria to get all rows:


Not all rows are retrieved to the UI, you can try to scroll up and down - still results list is incomplete. Only if you press Search button second time - then results list will be refreshed and bring correct results.

The fix is to set ContentDelivery=Immediate for the table component:


After repeating same test scenario, results list will be complete from the first time:

No comments: