From Guillaume Smet on hibernate-dev mailing list:
"In 5.2 SessionImpl, we now use getInterceptor() instead of accessing the
interceptor field directly because the field has been moved to
See for instance the change made here in afterTransactionCompletion():
I think this is an issue as getInterceptor() is not a simple getter but is:
Thus calling the pulse() method of the TransactionCoordinator, triggering
an implicit join whereas we're in the afterTransactionCompletion() phase.
This is an issue for us as the pulse() method of our TransactionCoordinator
creates Neo4j transactions so when the getInterceptor() method is called in
afterTransactionCompletion(), we create a new Neo4j transaction.
So 2 questions:
should we really call checkTransactionSynchStatus(); in getInterceptor()?
If feels a bit weird.
if so, I think we should have a true protected getter (interceptor()
following Steve's convention?) to avoid SessionImpl "pulsing" the
transaction coordinator when accessing the interceptor."