Aaronontheweb on dev
Remove string interpolation fro… (compare)
Aaronontheweb on dev
Made cleanup call thread-safe (… (compare)
Receive
defined for the type of m5.Context.Self.Tell(msg, Context.Sender);
Stash.Stash();
and after Stash.UnstashAll();
Hey I have a question about event adapters and their support across persistence plugins. In short, I am trying to use an event adapter to serialise protobuf-net dtos using InMemory, Sql and Mongodb (through cosmosdb/documentdb emulator engine). I'm unsure if my event adapter implementation is incorrect or if there is a problem with the compatibility among different persistence drivers.
I have put together a solution with each of the three mechanisms (with tests) here:
https://github.com/ctrlaltdan/akka-event-adapters
Any help would be appreciated :D
""System.Byte[], System.Private.CoreLib"" = protobuf
@Zetanova Thanks for you reply. I tried to remove the system.byte[]
from the hocon but (using mongodb) I still get the same error... System.TypeLoadException: Could not load type 'SLAP_V1' from assembly 'Akka.Persistence.MongoDb, Version=1.3.12.0, Culture=neutral, PublicKeyToken=null'.
It would seem that mongodb honours the manifest property and tries to deserialize the string (which it wont be able to do) whereas the sql plugin doesnt honour the manifest, equally causing problems.... Any thoughts?
And it looks like the mongodb implementation treats the manifest
property and the stored type
property interchangeably. This wouldnt work with my denormalised "contract name" dto style unless I wrote my own serializer I guess?
@BitterAmethyst_twitter default transport layer doesn't cover user-level messages resending (the only resends there are TCP-level package retransmissions). This is for performance reasons and because all communication patterns (including retransmissions) can be composed from simple fire-and-forget message channels.
If you need to resent messages after figuring out the transport issues, you can use something like:
confirmationPending
list, and after getting ACK message remove it from there. Additionally add something like periodic Context.System.Scheduler
tick to periodically resend all messages from pending list.All options require sending some sort of response or ACK message and some form of detecting duplicate messages.