[JAVASERVERFACES_SPEC_PUBLIC-1216] Inconsistent exception handling for phaselisteners Created: 14/Aug/13 Updated: 08/Sep/15 Resolved: 08/Sep/15
|Affects Version/s:||2.1, 2.2|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
Exception handling for phase listeners behaves differently depending on if they are registered globally in faces-config.xml or with f:phaseListener for a particular view root.
In the first (global) case any exception thrown by them gets forwarded to an exception handler as described in the spec.
In the second (per view root) case all exceptions get logged and swallowed as described in the UIViewRoot documentation.
This inconsistent behavior adds increased complexity when implementing PhaseListeners. Ideally both cases should forward any exception to the exception handler so they can be handled there.
See also the discussion of the problem in: https://java.net/jira/browse/JAVASERVERFACES-2985
|Comment by Ed Burns [ 01/Aug/14 ]|
Set priority to baseline ahead of JSF 2.3 triage. Priorities will be assigned accurately after this exercise.
|Comment by pnicoluc [ 03/Sep/15 ]|
Update UIViewRoot.encodeBegin(FacesContext context) javadoc by removing the
"Any errors that occur during invocation of any of the the beforePhase
Update UIViewRoot.encodeEnd(FacesContext context) javadoc by removing the
"Any errors that occur during invocation of the afterPhase
Then an update to the implementation would need to be made to publish the