cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aristedes Maniatis <...@ish.com.au.INVALID>
Subject Re: Cayenne callback listener in single transaction
Date Sat, 21 Dec 2019 04:55:49 GMT
On 19/12/19 1:18am, Artem Kravchenko wrote:
> So the problem which I faced with: the commits (main one and 
> subsequent from listener) are two different jdbs transaction, which is 
> reasonable in fact. But in such case the data consistency is not 
> guaranteed - second commit might be failed. It is really important for me.


At first glance, I cannot understand why wrapping them in a single 
transaction would not be the default behaviour here. Adding records in 
@PostPersist is likely something like:

* audit records to track changes

* financial transactional data (eg writing to a general ledger when 
invoice is created)

* updating denormalised data (eg. contact.owing) which might be done for 
search or performance reasons.


In each case I can think of, rolling back the whole transaction would be 
a more appropriate behaviour in case of failure.


Cheers

Ari



Mime
View raw message