Commit graph

6 commits

Author SHA1 Message Date
Patrik Nordwall
8f8684ae6c Doc trait+object (enum) serialization for Jackson (#27244)
* Doc trait+object (enum) serialization for Jackson

* move to separate file
2019-07-12 08:25:10 +01:00
Patrik Nordwall
c62f428d51 Jackson whitelist for deserialization of unbound class, #26910 2019-06-07 17:52:50 +02:00
Patrik Nordwall
41600d3079 use ISO-8601 date/time format in Jackson serializer, #24155
* better for interoperability
* deserialization from both formats are supported
2019-06-07 16:51:44 +02:00
Patrik Nordwall
23cbd68430 Support separate conf per JacksonSerializer binding, #24155
* Needed in Lagom to be able to have separate object mappers with different
  config for exernal and internal usage.
* Can also be good to be able to have different config for json and cbor
  serializers, or different for remote messages and persisted events.
* Pass in binding name when creating the serializer if it has a matching
  constructor
* Serialization identifiers loaded from config via the binding name instead
  of class name, for JacksonSerializer.
2019-06-07 14:43:36 +02:00
Patrik Nordwall
7c0be70eea
Doc Jackson annotation gotchas, #24155 (#27091)
* Describe annotations for single param constructor, #24155
* Describe annotations for polymorphic types, #24155
2019-06-07 14:41:01 +02:00
Patrik Nordwall
6122966fca Jackson serializer as replacement for Java serialization, #24155
* Copied from Lagom, with the following differences
  * Jsonable and CompressedJsonable not included
  * pcollection and guava modules not enabled by default
  * added scala and afterburner modules
* JSON, CBOR and Smile options (different serializers)
* JMH benchmark
* jackson version 2.9.9
* test polymorphism
* serializer for ActorRef
* Address serializer
* FiniteDuration serializer, same as java.time.Duration
* use blacklist from Jackson databind against gadgets
* disallow binding to open ended types, such as java.io.Serializable
* Configurable ObjectMapper ser/deser features
* testing date formats with WRITE_DATES_AS_TIMESTAMPS on/off
* ActorSystemSetup for ObjectMapper creation
  * and possibility to lookup created ObjectMapper via ObjectMapperProvider extension
* createObjectMapper without ActorSystem, needed by Lagom test
* add basic docs
* skip Scala 2.13 for akka-serialization-jackson for now, until the Jackson
  Scala module has been released
2019-05-24 09:03:45 +02:00