Skip to content

#731 Add @RequiresUnitOfWork annotation#959

Closed
andresviedma wants to merge 5 commits intogoogle:masterfrom
andresviedma:unitofwork-annotation
Closed

#731 Add @RequiresUnitOfWork annotation#959
andresviedma wants to merge 5 commits intogoogle:masterfrom
andresviedma:unitofwork-annotation

Conversation

@andresviedma
Copy link
Contributor

Implementation of a @RequiresUnitOfWork annotation equivalent to the @transactional annotation. One that will automatically start/stop a UnitOfWork as required, but not begin/commit a transaction. See issue #731 for more info. I think this annotation can be interesting, I have also missed it often.

The name of the annotation is important as it's public, and so can be changed. Please check if you like it and change it accordingly.

This pull request also includes a refactoring of JpaLocalTxnInterceptor class, extracting the management of the unit of work to a new utility UnitOfWorkHandler class, which can also be handy to start / end units of work by code (instead of with annotations). Finally, it also solves issue #753 (JpaLocalTxnInterceptor is inconsistent. It uses both UnitOfWork and JpaPersistService), by using the same UnitOfWork injected object to both begin and finish it.

@andresviedma
Copy link
Contributor Author

Hi! Is anyone reviewing the pull requests? This PR is already 6 months old...

@tuxbear
Copy link

tuxbear commented Jul 13, 2017

Guice is dead?

copybara-service bot pushed a commit that referenced this pull request Apr 21, 2023
…because it leads to leaks. Fixes #739, fixes #997, fixes #730, fixes #985, fixes #959, fixes #731. This also adds an optional Options to the JpaPersistModule constructor, if users wish to use the legacy behavior. This is a breaking change, but to a better default value. Users who want to keep the dangerous form can opt back in with the options.

PiperOrigin-RevId: 525852009
copybara-service bot pushed a commit that referenced this pull request Apr 21, 2023
…because it leads to leaks. Fixes #739, fixes #997, fixes #730, fixes #985, fixes #959, fixes #731. This also adds an optional Options to the JpaPersistModule constructor, if users wish to use the legacy behavior. This is a breaking change, but to a better default value. Users who want to keep the dangerous form can opt back in with the options.

PiperOrigin-RevId: 525852009
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants