Skip to content

[pull] main from quarkusio:main#765

Merged
pull[bot] merged 4 commits intobschuhmann:mainfrom
quarkusio:main
Mar 19, 2026
Merged

[pull] main from quarkusio:main#765
pull[bot] merged 4 commits intobschuhmann:mainfrom
quarkusio:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Mar 19, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

marcosgopen and others added 4 commits March 18, 2026 16:52
Implement tests and method to get the status of the recoveryService
Fixes: #47698

Introduces a new extension enabling @transactional annotation support for
Hibernate Reactive. This allows developers to use familiar transaction semantics
with reactive database operations.

Key implementation details:

* New hibernate-reactive-transactions extension with dedicated CDI interceptors
* TransactionalContextPool wraps the SQL client pool to lazily open transactions
  based on Vert.x context flags set by the @transactional interceptor
* TransactionalInterceptorBase manages the complete transaction lifecycle
  (begin, commit, rollback)
* TransactionalContextConnection wrapper prevents premature connection closure
  before transaction commit/rollback
* OpenedSessionState refactored from Panache to centrally manage session
  lifecycle and caching
* Validation prevents mixing @transactional with @WithTransaction and
  @WithSessionOnDemand annotations to avoid conflicting transaction semantics
* Disable JTA interceptor execution for methods returning Uni to prevent mixups
* Integration test for updates and cancellation
* Flush session before closing them
* Close reactive connections after transaction completion
  - Schedule connection.close() on transaction completion in TransactionalContextConnection
  - Add pool size verification to tests to detect connection leaks
  - Set pool max-size=1 in test config to ensure leaks cause immediate failures
* Support joining of nested @transactional method
* Removed force to worker thread when a resource endpoint is annotated @transactional, now it relies on the return type (event loop if it returns a Uni<T>, otherwise worker thread). If a method is blocking but returns a Uni<T> it requires explicit @Blocking

Limitations:
* Currently supports only Transactional.TxType.REQUIRED, other TxType values
  throw UnsupportedOperationException

Adds quarkus-reactive-transactions dependency to hibernate-reactive-panache-common/runtime
quarkus-reactive-transactions-deployment dependency to hibernate-reactive-panache/deployment to support the relocated tests.

Co-authored-by: Yoann Rodière <yoann@hibernate.org>
Co-authored-by: Stéphane Épardaud <stef@inforealm.org>
Narayana JTA - Auto-enable recovery service when XA datasources are configured
@pull pull Bot locked and limited conversation to collaborators Mar 19, 2026
@pull pull Bot added the ⤵️ pull label Mar 19, 2026
@pull pull Bot merged commit 92c0eae into bschuhmann:main Mar 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants