Class JacksonJsonPayloadConverter
java.lang.Object
io.temporal.common.converter.JacksonJsonPayloadConverter
- All Implemented Interfaces:
PayloadConverter
-
Constructor Summary
ConstructorsConstructorDescriptionJacksonJsonPayloadConverter(com.fasterxml.jackson.databind.ObjectMapper mapper) -
Method Summary
Modifier and TypeMethodDescription<T> TImplements conversion of a single value.EachPayloadConverterhas an Encoding Type that it handles.static com.fasterxml.jackson.databind.ObjectMapperCan be used as a starting point for custom user configurations of ObjectMapper.static voidsetDefaultAsJackson3(boolean defaultAsJackson3, boolean jackson2Compat) Opts in to or out of using Jackson 3.x as the default JSON payload converter.Optional<io.temporal.api.common.v1.Payload> Implements conversion of a list of values.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.temporal.common.converter.PayloadConverter
withContext
-
Constructor Details
-
JacksonJsonPayloadConverter
public JacksonJsonPayloadConverter() -
JacksonJsonPayloadConverter
public JacksonJsonPayloadConverter(com.fasterxml.jackson.databind.ObjectMapper mapper)
-
-
Method Details
-
setDefaultAsJackson3
@Experimental public static void setDefaultAsJackson3(boolean defaultAsJackson3, boolean jackson2Compat) Opts in to or out of using Jackson 3.x as the default JSON payload converter. When enabled, instances created via the default constructor will delegate all serialization/deserialization to aJackson3JsonPayloadConverter.This applies globally, including to the converter in
DefaultDataConverter.STANDARD_PAYLOAD_CONVERTERS. Call this method early in your application, before creating any Temporal clients.Requires Java 17+ and
tools.jackson.core:jackson-databind:3.xon the classpath.- Parameters:
defaultAsJackson3-trueto delegate to Jackson 3,falseto revert to Jackson 2jackson2Compat- iftrue, the Jackson 3 converter is configured with Jackson 2.x default behaviors for maximum wire compatibility. Iffalse, Jackson 3.x native defaults are used. Only relevant whendefaultAsJackson3istrue.- Throws:
IllegalStateException- if Jackson 3 is not available- See Also:
-
newDefaultObjectMapper
public static com.fasterxml.jackson.databind.ObjectMapper newDefaultObjectMapper()Can be used as a starting point for custom user configurations of ObjectMapper.- Returns:
- a default configuration of
ObjectMapperused byJacksonJsonPayloadConverter.
-
getEncodingType
Description copied from interface:PayloadConverterEachPayloadConverterhas an Encoding Type that it handles. EachPayloadConvertershould add the information about its Encoding Type into thePayloadit produces insidePayloadConverter.toData(Object)by associating it with theEncodingKeys.METADATA_ENCODING_KEYkey attached to thePayload's Metadata usingPayload.Builder.putMetadata(String, ByteString).- Specified by:
getEncodingTypein interfacePayloadConverter- Returns:
- encoding type that this converter handles.
-
toData
public Optional<io.temporal.api.common.v1.Payload> toData(Object value) throws DataConverterException Description copied from interface:PayloadConverterImplements conversion of a list of values.- Specified by:
toDatain interfacePayloadConverter- Parameters:
value- Java value to convert.- Returns:
- converted value
- Throws:
DataConverterException- if conversion of the value passed as parameter failed for any reason.- See Also:
-
fromData
public <T> T fromData(io.temporal.api.common.v1.Payload content, Class<T> valueClass, Type valueType) throws DataConverterException Description copied from interface:PayloadConverterImplements conversion of a single value.- Specified by:
fromDatain interfacePayloadConverter- Parameters:
content- Serialized value to convert to a Java object.valueClass- type of the value stored in thecontentvalueType- generic type of the value stored in thecontent- Returns:
- converted Java object
- Throws:
DataConverterException- if conversion of the data passed as parameter failed for any reason.
-