I have encountered a very unfortunate and strange difference in the way JBoss
application server 4.2.2 treats exceptions raised from inside EJB callback
methods marked with @PrePersist and @PreUpdate.
My exception is a RuntimeException, and is marked for rollback=false. I use it
to report back validation errors. The validation is triggered in the
@PrePersist and @PreUpdate callback methods. However, while this behaves very
nicely for the persist method, the update does not appear to take the
@ApplicationException annotation into account. So the transaction is rolled
back and my exception is wrapped inside a
javax.persistence.PersistenceException and then inside a
javax.transaction.RollbackException, blowing up my whole concept.
I have also tried configuring the ApplicationException in the ejb-jar.xml, but
the result was identical.
Here's the exception class:
@ApplicationException(rollback=false)
| public class ValidationExceptionRuntimeWrapper extends RuntimeException
| {
| private static final long serialVersionUID = 1L;
|
| private ValidationException validationException;
|
|
| public ValidationExceptionRuntimeWrapper(ValidationException
validationException)
| {
| this.validationException = validationException;
| }
|
| public ValidationException getValidationException()
| {
| return validationException;
| }
|
| public void setValidationException(ValidationException
validationException)
| {
| this.validationException = validationException;
| }
|
| }
|
Has anyone seen this before or knows how to explain this?
I would be so grateful for any help!!
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4118553#4118553
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4118553
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user