Class SerializationUtils
java.lang.Object
org.springframework.kafka.support.serializer.SerializationUtils
Utilities for serialization.
- Since:
- 2.5
- Author:
- Gary Russell
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic DeserializationExceptionbyteArrayToDeserializationException(LogAccessor logger, org.apache.kafka.common.header.Header header) Convert a byte array containing a serializedDeserializationExceptionto theDeserializationException.static voiddeserializationException(org.apache.kafka.common.header.Headers headers, byte[] data, Exception ex, boolean isForKeyArg) Populate the record headers with a serializedDeserializationException.static DeserializationExceptiongetExceptionFromHeader(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, String headerName, LogAccessor logger) Extract aDeserializationExceptionfrom the supplied header name, if present.static <P,T> BiFunction<P, org.apache.kafka.common.header.Headers, T> propertyToMethodInvokingFunction(String methodProperty, Class<P> payloadType, ClassLoader classLoader) Convert a property value (FQCN.methodName) to aBiFunctionthat takes a payload and headers and returns some value.
-
Field Details
-
DESERIALIZER_EXCEPTION_HEADER_PREFIX
Header name for deserialization exceptions.- Since:
- 2.8
- See Also:
-
KEY_DESERIALIZER_EXCEPTION_HEADER
Header name for deserialization exceptions.- Since:
- 2.8
- See Also:
-
VALUE_DESERIALIZER_EXCEPTION_HEADER
Header name for deserialization exceptions.- Since:
- 2.8
- See Also:
-
-
Method Details
-
propertyToMethodInvokingFunction
public static <P,T> BiFunction<P,org.apache.kafka.common.header.Headers, propertyToMethodInvokingFunctionT> (String methodProperty, Class<P> payloadType, ClassLoader classLoader) Convert a property value (FQCN.methodName) to aBiFunctionthat takes a payload and headers and returns some value. The method must have parameters(P, Headers)or(P)and be declared as static.- Type Parameters:
P- TheBiFunctionfirst parameter type.T- TheBiFunctionreturn type.- Parameters:
methodProperty- the method name property.payloadType- theBiFunctionfirst parameter type.classLoader- the class loader.- Returns:
- the function.
-
deserializationException
public static void deserializationException(org.apache.kafka.common.header.Headers headers, byte[] data, Exception ex, boolean isForKeyArg) Populate the record headers with a serializedDeserializationException.- Parameters:
headers- the headers.data- the data.ex- the exception.isForKeyArg- true if this is a key deserialization problem, otherwise value.- Since:
- 2.8
-
getExceptionFromHeader
@Nullable public static DeserializationException getExceptionFromHeader(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, String headerName, LogAccessor logger) Extract aDeserializationExceptionfrom the supplied header name, if present.- Parameters:
record- the consumer record.headerName- the header name.logger- the logger for logging errors.- Returns:
- the exception or null.
- Since:
- 2.9.11
-
byteArrayToDeserializationException
@Nullable public static DeserializationException byteArrayToDeserializationException(LogAccessor logger, org.apache.kafka.common.header.Header header) Convert a byte array containing a serializedDeserializationExceptionto theDeserializationException.- Parameters:
logger- a log accessor to log errors.header- the header.- Returns:
- the exception or null if deserialization fails.
- Since:
- 2.9.11
-