-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GERONIMO-6560 make use of geronimo-osgi-locator for loading service loader implementations in OSGi environment #5
Closed
stefanseifert
wants to merge
1
commit into
apache:trunk
from
stefanseifert:feature/GERONIMO-6560-json10-osgi
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you care updating it to do it by reflection? I'd like to keep that dependency running without osgi-locator if possible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the required classes are embedded in the jar file (via maven-bundle-plugin) - so the resulting jar file does no longer have a dependency to
geronimo-osgi-locator
- neither in OSGi nor in maven.it's the same pattern as used by geronimo-jaxrs_1.1_spec for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
then please ensure it is shaded in another package. issue is several spec jars have all the same classes and it can lead to issues in some classloading environments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
although i've solved this successful in other osgi bundles using maven-shade-plugin it does not work very well in this case - because one of the located classes is used as Bundle-Activator, and relocating the class breaks the magic of the bundle plugin generating the correct imports. after some puzzling i got it working: https://github.com/stefanseifert/geronimo-specs/blob/feature/GERONIMO-6560-json10-osgi-shade/geronimo-json_1.0_spec/pom.xml
but the solution is quite hacky and fragile - i advice against using it.
i would propose that we either use the original PR without relocating the classes (as in jaxrs) - or completely drop the support for geronimo osgi-support (which is older than the release of the osgi r5 spec, which is already old), ans switch for this spec jar and johnzon to an osgi-compatible way with capabilities. i've never tried it out, but in my understanding no special embedded classes are required in this case. aries spyfly has to be used then.