Fix IllegalAccessException in MongoDbAtlasLocalContainerConnectionDetails.getSslBundle() #4183
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.
Summary
Fixes the
IllegalAccessException
introduced by the StackOverflowError fix in commit 03d475e by replacing complex MethodHandles reflection with simple interface delegation.Problem
The original fix used
MethodHandles.unreflectSpecial()
incorrectly for interface default methods, causing:Root Cause
unreflectSpecial()
is designed for superclass method calls, not interface default methodsSolution
Replaced 24 lines of complex reflection code with 3 lines of elegant interface delegation:
Benefits
Test Results
MongoDbAtlasLocalContainerConnectionDetailsFactoryIT.addAndSearch
passesFixes