akkadotnet / Akka.Quartz.Actor

Quartz scheduling actor
Apache License 2.0
55 stars 31 forks source link

Support deserialization of job messages via SerializerWithStringManif… #335

Open danne931 opened 12 months ago

danne931 commented 12 months ago

Support deserialization of job messages via SerializerWithStringManifest or Serializer when IncludeManifest = true.

Fixes https://github.com/akkadotnet/Akka.Quartz.Actor/issues/334

Changes

This change allows for custom serializers defined with SerializerWithStringManifest or Serializer when IncludeManifest = true to have the appropriate type info passed into FromBinary. The manifest type info is saved during job creation, allowing the deserialization process to support the manifest type hint provided by a custom serializer.

This PR is related to another issue https://github.com/akkadotnet/Akka.Quartz.Actor/issues/215 but I don't think it's quite the same. From reading @object comments on the state of that issue I believe the remaining piece to solve there is allowing Akka.Hosting .WithCustomSerializer (or hocon config) to associate a custom serializer with a specific type (other than System.Object). My PR still requires config to associate a custom serializer with System.Object, rather than a more refined type.

danne931 commented 11 months ago

Any feedback on this PR @Arkatufus ?