[DO NOT MERGE] Add opt-in Jackson 3 support via multi-release JAR#2783
Open
cretz wants to merge 1 commit intotemporalio:masterfrom
Open
[DO NOT MERGE] Add opt-in Jackson 3 support via multi-release JAR#2783cretz wants to merge 1 commit intotemporalio:masterfrom
cretz wants to merge 1 commit intotemporalio:masterfrom
Conversation
Contributor
|
What about the SDK's internal uses of jackson like for Nexus? |
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.
What was changed
Jackson3JsonPayloadConverteras a multi-release JAR entry (Java 8 stub insrc/main/java/, real implementation insrc/main/java17/) that uses Jackson 3.xJsonMapperfor JSON serializationJacksonJsonPayloadConverter.setDefaultAsJackson3(boolean, boolean)static method to globally opt in to Jackson 3 delegation, including for the default converter inDefaultDataConverter.STANDARD_PAYLOAD_CONVERTERSjackson2Compat=false) and Jackson 2 compatibility mode (jackson2Compat=trueviaJsonMapper.builderWithJackson2Defaults())ObjectMapperpassed to the constructor are not affected by the global Jackson 3 delegate"json/plain"encoding type and are wire-compatible in both directions[3.0.4,)in the POMjackson3Teststest suite (8 tests, Java 17 launcher) covering direct converter usage, wire compatibility, global delegation viaGlobalDataConverter.get(), and explicit-mapper opt-outUnsupportedOperationException) and Java 17+ without Jackson 3 (NoClassDefFoundError)jackson3TestsCI step to theunit_test_jdk8job@Documentedto the@ExperimentalannotationDO NOT MERGE - we are going to wait on Spring Boot 4 support at the same time to at least get reviewed at #2786
Checklist