I have a customization in which I am using OAProcessingPage to be displayed with a long running DB procedure call in the processFormRequest.
The DB procedure takes about 8 minutes to complete. I am able to see the changes in the DB and a successful exit from the DB procedure. however, the page seems to be stuck in the OAProcessingPage itself, instead of moving back to another page as coded in the controller.
Page A calls the OAProcessingPage and in the processFormRequest of OAProcessingPage I have mentioned a forwardImmediately call to page A. I had also put some debug messages on the controllers of both the pages. I could see that the control returns to Page A, ie. The processRequest method Page A has got executed after returning from OAProcessingPage. However, the page has not got refreshed.
The session timeout profile option is 30 mins and hence I believe this is not because the session timed out. Could anybody throw some light on this? Please let me know if any more information is required.
Thanks for the reply. Unfortunately, my issue is a quite different from the suggested forum questions.
1. I am able to run the code from Jdev, without any issues.
2. I am able to run the page after deploying to instance and in cases when the DB procedure completes early (under 3 minutes ) the main page gets displayed without issues.
3. The issue occurs only in case the DB procedure takes a long time (in my case about 6 to 8 mins).
As I had mentioned earlier, the page forward from Processing Page to the main Page occurs successfully. This, I can confirm from the debug message that I put in the process request of the main page. But the screen is still stuck with the OA processing page. Any idea why this fails only in case of long running processes?
My understanding is that if control comes to the ProcessRequest of the page, it means the page is getting loaded newly and so will get refreshed on the browser too. Am I missing something here?
1. XX_BPA_UPLOAD - the registered function name for the main page
2. In the processRequest of the main page, I had put an SOP. In case of the long running DB procedure, I could see the SOP string, in the instance's standard output stream file. That means that forwardImmediately happens successfully and the main page's processRequest is also being called. However, the browser screen is still showing the dreaded ticking clock!
I've been doing some tests on this by creating a simple page that forwards to OAProcessingPage and calls the dbms_lock.sleep procedure. What I could see is that if I have the sleep time as 5 minutes, ie 300 seconds, the page refreshes back to main page after completing 5 minutes. For any value beyond 300 seconds, the page is not refreshed, although the processRequest of the main page is getting executed.
I would like to know if there is any value in the server configuration that sets the session time out? I mean anything other than the ICX_SESSION_TIMEOUT profile option value. As this value is set to 30 minutes and I believe this is not the value that is affecting the page refresh.