I have two service engine methods in Java. Lets call them serviceA and 
serviceB. ServiceA calls serviceB. Both are transactional but serviceB requires 
a new transaction. The reason is I want serviceB to succeed even if serviceA 
needs to rollback (serviceB is a db audit logging method). In this setup, I get 
the following message when serviceA errors:

The current transaction is marked for rollback, not beginning a new transaction 
and aborting current operation; the rollbackOnly was caused by: Service 
[serviceA] …

Based on analysis of the database, I can see that serviceA did rollback as 
expected but serviceB didn't commit either. Not really sure how to fix this 
particular issue. Does "require-new-transaction" not really work as advertised? 
What am I missing?

Thanks,
Matt Bertolini

Reply via email to