- java.lang.Object
- 
- io.helidon.common.SerializationConfig
 
- 
 public final class SerializationConfig extends Object Support for JEP 290 - deserialization filtering. Configuration options mentioned below will differ in Helidon 3.0.0, the following table lists the options: 
 Last option (not used by default) is toConfiguration Options system property 2.x default 3.x default description PROP_WRONG_CONFIG_ACTIONwarn-SerializationConfig.Action.WARNfail-SerializationConfig.Action.FAILWhat to do if an existing global deserialization filter exists without a global reject-list. PROP_NO_CONFIG_ACTIONwarn-SerializationConfig.Action.WARNconfigure-SerializationConfig.Action.CONFIGUREWhat to do if there is no global deserialization filter. ignorethe problem and do nothing (can be used both with wrong config and no config above).Deserialization filtering in HelidonHelidon serialization filter is implemented to support allow-lists, automatically rejecting all classes. Helidon restrictions are only enforced on the global filter.Custom patternTo add patterns to the serial filter, use a system property "helidon.serialFilter.pattern". This pattern follows the rules as defined by JDK. Helidon will add reject all as the last pattern if it is not already defined by it.As an alternative, a file PROPERTY_FILEcan be created on the classpath with the following content, to configure filter for a specific library. Do not add a global reject to these patterns!:pattern=oracle.sql.converter.*Deserialization tracingA tracing filter can be configured using system property "helidon.serialFilter.trace" to log information messages for each deserialization request.To discover class patterns needed, set "no config" and "wrong config" actions to warn or ignore, and configure Options are:basictracing.- noneto disable tracing (this is the default)
- basicto enable basic tracing (only traces requests for class deserialization)
- fullto enable full tracing (including sizes, depth etc.)
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classSerializationConfig.ActionWhat action to take if there is no global filter configured, or if the configuration is not according to Helidon expectations.static classSerializationConfig.BuilderFluent API builder to customizeSerializationConfig.static classSerializationConfig.TraceOptionDeserialization tracing options.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SerializationConfig.Builderbuilder()Fluent API builder to configure options programmatically.voidconfigure()Configure deserialization filtering in the current VM.static voidconfigureRuntime()Make sure configuration is as expected.
 
- 
- 
- 
Method Detail- 
builderpublic static SerializationConfig.Builder builder() Fluent API builder to configure options programmatically. To use defaults (or system properties), seeconfigureRuntime().- Returns:
- a new builder for SerializationConfig
- See Also:
- configure()
 
 - 
configureRuntimepublic static void configureRuntime() Make sure configuration is as expected. This is a one-off call to set up global filter.
 - 
configurepublic void configure() Configure deserialization filtering in the current VM. Note that the global filter can be configured only once, so make sure this method is invoked as soon as possible. This class keeps static information about the initial configuration, so as long as the configuration is unchanged, this method may be called multiple times.- Throws:
- IllegalStateException- in case this method is called multiple times with different configuration.
 
 
- 
 
-