Wrap DB connection in listActive method with DbConnectionFactory#34944
Merged
Wrap DB connection in listActive method with DbConnectionFactory#34944
Conversation
Wrap the DotConnect query in DbConnectionFactory.wrapConnection() to ensure connections are properly closed when called from background threads (e.g., ReindexThread, CDI async events, scheduler tasks) that lack CMSFilter cleanup. Fixes #34831 https://claude.ai/code/session_01QgxjLmXpypRcAYADtkEgg7
3 tasks
fabrizzio-dotCMS
approved these changes
Mar 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed Changes
ExperimentsFactoryImpl.listActive()withDbConnectionFactory.wrapConnection()to ensure proper connection managementDbConnectionFactoryclassRationale
This change ensures that database connections are properly managed and released when querying active experiments by page identifier. Using
DbConnectionFactory.wrapConnection()provides consistent connection lifecycle management across the codebase.Checklist
Additional Info
The functional behavior of the
listActive()method remains unchanged - it still queries for active experiments (excluding ENDED and ARCHIVED statuses) and transforms the results into a collection of Experiment objects. This is a refactoring to improve resource management.https://claude.ai/code/session_01QgxjLmXpypRcAYADtkEgg7
This PR fixes: #34831