On Jul 27, 2009, at 3:46 AM, Paul Sandoz wrote:
>>>
>>> Ken, in such cases would it be sufficient for Jersey to process an
>>> EJBException like an InvocatonTargetException such that the
>>> underlying target exception can be processed ?
>>>
>>
>> No, EJB makes a distinction between application exceptions and
>> system exceptions. WebApplicationException must be a runtime
>> exception so it's considered a system exception and results in an
>> EJBException that won't necessarily directly chain the original
>> cause. If the thrown exception is a subtype of
>> java.lang.Exception or is annotated with
>> @javax.ejb.ApplicationException, it will be treated as an
>> application exception and received exactly as thrown.
>>
>
> I suppose a developer could extend WebApplicationException and
> annotate it, but that is not really the expected thing to do.
>
> Do we need a little SPI to declare to the EJB container that
> WebApplicationException should be treated as if it is annotated with
> @javax.ejb.ApplicationException?
>
> Marc, do we need to do something in the JAX-RS spec? either state
> the restriction, or based on Ken's advice, that it should be
> supported.
>
I think we need WebApplicationException to be treated as an
application exception even though its a runtime exception not
annotated with @ApplicationException. I can add something to that
effect to the spec but then I guess you'll need that SPI.
Marc.