Description
The next major version of the aws-lambda-java-events
library is now being worked on. As part of this we are considering changes around serialization. Our goals are to make it easier for customers to handle different serialization scenarios, reduce package size and to more easily add new events to the library.
Our current plans include enabling customers to bring their own serializer by implementing the PojoSerializer interface and including a provider-configuration file under META-INF/services
.
To make it easier for new event objects to be added we are exploring ways to remove the use of mixins in the serialization library.
For example the SecretsManagerRotationEvent uses the SecretsManagerRotationEventMixin.java to change upper case attributes Step
, SecretId
and ClientRequestToken
to lower case ones. This is required because Jackson expects lower case attribute names. Instead Jackson annotations will be added directly to the event fields which require them.
At this time we’ll also change the existing event objects to all follow the same design. Lombok annotations @Data
, @NoArgsConstructor
, @Builder(setterPrefix = "with")
, @AllArgsConstructor
and @Singular
(when needed) will be added to events without them.
The joda-time
dependency will be removed in this release.