[
https://issues.apache.org/jira/browse/OPENEJB-980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12658988#action_12658988
]
Jacek Laskowski commented on OPENEJB-980:
-----------------------------------------
Interesting. I couldn't find an answer to the inheritance of
@ApplicationException. Do you have any reference where it says that
@ApplicationException is inherited? I couldn't find it's not allowed either so
we could relax it to suit your needs, but am wondering if it's just a
relaxation or being not EJB3 compliant.
> @ApplicationException is not being inherited
> --------------------------------------------
>
> Key: OPENEJB-980
> URL: https://issues.apache.org/jira/browse/OPENEJB-980
> Project: OpenEJB
> Issue Type: Bug
> Affects Versions: 3.1
> Reporter: Geoff Callender
>
> When @ApplicationException(rollback = true) is annotated on an exception
> thrown by a session bean then all is well - the client receives the exception.
> But if the annotation is moved up to a superclass of the exception then all
> is not well - the client receives EJBTransactionRolledbackException.
> In the app server I am porting from the following worked OK, and I believe it
> is the correct behaviour:
> public interface DogServiceRemote {
> void createDog(Dog dog) throws BusinessException;
> }
> @ApplicationException(rollback = true)
> abstract public class BusinessException extends Exception {
> ...
> }
> public class ValueRequiredException extends BusinessException {
> ...
> }
> where createDog(...) throws many different subclasses of BusinessException,
> none of which is annotated with @ApplicationException.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.