Got this gift from Oracle Network as a surprise
Note: I reached Guru status in OTN long back(more than 4 years and receiving reward for it now :))
Initial Stage
Debugging the Issue:
Debugging the problem is the important step in finding the problem in ADF Application. If you are able to debug the application flow then there is a possible chance of pointing out the problem in the first place. Debugging help us to understand where and when the problem arises.
In ADF Application you can debug the issue by placing the breakpoints in Java class file and also in Task Flows. To know more about debugging follow this link
If we are able to identify the problem and fix it then its good. otherwise note down the problem and move to next step
Look for Errors:
After debugging the issues we are sure that the outcome will result in
Most of the time we have the exception thrown to the user or in the console. Its easy foe advanced user to identify theĀ cause of the issue when the exception or the error is thrown. Also the exceptions that occur will be self explanatory but its hard for newbie to spot the root cause.
Its always advised to find the exception or error for the clear understanding of the problem. So we have to find a way to get these exceptions thrown. These are the qualified places to look for errors and exceptions
This link will help you to find the errors and also some standard practice to look for exceptions by preparing the application to log the application events using a Logger file.
After seeing the Exceptions
Search for Errors online
By this time you would have got the exception or the error in your hand. So don’t waste time start searching for the error in
Eg. If this is the error that you are getting
oracle.adf.controller.internal.AdfcIllegalStateException: oracle.adf.controller.ControllerException: ADFC-12003: The page flow scope stack is empty. at oracle.adfinternal.controller.state.PageFlowStackEntry.getPageFlowScope(PageFlowStackEntry.java:271) at oracle.adfinternal.controller.state.ViewPortContextImpl.getCurrentStateInstance(ViewPortContextImpl.java:594) at oracle.adfinternal.controller.state.RequestState.setCurrentViewPortContext(RequestState.java:200) at oracle.adfinternal.controller.state.ControllerState.setRequestState(ControllerState.java:948) at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart1(ControllerState.java:360) at oracle.adfinternal.controller.application.SyncNavigationStateListener.beforePhase(SyncNavigationStateListener.java:127) at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:551) at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100) at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchBeforePagePhaseEvent(LifecycleImpl.java:147) at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchBeforePagePhaseEvent(ADFPhaseListener.java:112) at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.beforePhase(ADFPhaseListener.java:59) ...
Options to search
Note: If you want to find issues similar to this in otn then give like āADFC-12003 + OTNā
Analysis Stage
You will come to this stage if you are not success with the above approach to identify the issue.
Are you trying some new Feature?
Is this a Connection Problem?
Is it a common Java Issue?
Is this a common JEE Issue?
Configuration Issue?
Page Refresh Issue?
Security Issue?
Intermittent Issue?
Memory Issue?
Data Issue?
Change not reflecting?
Not sure about the problem?
Note: Most of the issues listed above are common issues, you will get all related issues when you search online or in Oracle Forums. I believe that Only 5% of the issues can be considered as never experienced by others. So most of the issues that the user experience will be already discussed in the future. So do search the Oracle forums or Google to get your issues solved.
Submission Stage
Post a Forum Question
Raise for help from Oracle
If you have tried all possible options above then you have to wait for Oracle to help you.