I have a bridge which creates JTA transaction if REST-AT transaction
context is available during REST request. Therefore, JAX-RS
resources can use @TransactionAttribute annotations. Example of such
resource is here: http://tinyurl.com/pf6c7hu.
If REST-AT transaction does not exist during the request to
transactionAttributeMandatory() - EJBTransactionRequiredException is
thrown.
If REST-AT transaction does exist during the request to
transactionAttributeNever() - EJBException with the follwing message
is thrown: "JBAS014163: Transaction present on server in Never call
(EJB3 13.6.2.6)".
To handle those exceptions I have an ExceptionMapper which returns
appropriate HTTP responses: http://tinyurl.com/q4v54ph.
In the mapper I can easily look for EJBTransactionRequiredException.
But in case of EJBException I am looking for JBAS014163 code. I
wanted to ask if it is safe to rely on looking for error code? Or
maybe there is a better option?
Thanks,
Gytis
On 26/07/13 14:08, Scott Marlow wrote:
Can
you give more context here, the full exception call stack would be
helpful (please post a pastebin.com link or something like that).
On 07/26/2013 06:10 AM, Gytis Trikleris wrote:
Hello,
I need to handle exception when either
TransactionAttributeType.MANDATORY or
TransactionAttributeType.NEVER
requirement is not met. It is not a problem for MANDATORY,
because
EJBTransactionRequiredException is thrown. However, general
EJBException
exception is thrown if unexpected transaction was on the thread.
I wanted to ask what is the best way to detect that EJBException
was
caused because of unnecessary transaction? Error code given by
the
exception is JBAS014163, but I am not sure if it is safe to rely
on
message codes...
Thanks,
Gytis
_______________________________________________
wildfly-dev mailing list
wildfly-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev