hi
Please consider this example application created using JDeveloper 11.1.1.3.0
at http://www.consideringred.com/files/oracle/2010/CombinedExceptionHandlerApp-v0.01.zip
It has an ExceptionHandler implementation configured in a services configuration file and in adfc-config.xml the unbounded task-flow has a view activity "exceptionHandlerPage" marked as "Exception Handler".
- scenario (sc1)
Run the browseDepartments.jspx page and click the "do throwMyViewRuntimeExceptionAction" button, resulting in a dialog showing a FacesMessage created in MyViewExceptionHandler.handleException(), as shown in the screenshot
CEHApp-001-sc1-dialog.png.
- scenario (sc2)
Modify the contents of the file ".adf\META-INF\services\oracle.adf.view.rich.context.ExceptionHandler" to some unknown class name, e.g. from "MyViewExceptionHandler" to "UnknownMyViewExceptionHandler". (resulting in a java.lang.ClassNotFoundException at run-time, and so effectively no custom ExceptionHandler implementation configured)
Run the browseDepartments.jspx page and click the "do throwMyViewRuntimeExceptionAction" button, resulting in the "exceptionHandlerPage" showing the result of the EL expression #{controllerContext.currentViewPort.exceptionData} , as shown in the screenshot
CEHApp-001-sc2-page.png.
Based on scenario (sc1) and (sc2) it looks like an ExceptionHandler implementation configured in a services configuration file takes precedence over an activity in the unbounded task-flow marked as "Exception Handler".
question:
- (q1) Is it intended behaviour that an ExceptionHandler implementation configured in a services configuration file takes precedence over an activity in the unbounded task-flow marked as "Exception Handler"?
many thanks
Jan Vervecken