- Built-in redelivery mechanism for Channel and PersistentChannel - redelivery counter on ConfirmablePersistent - redeliveries out of initial message delivery order - relative order of redelivered messages is preserved - configurable redelivery policy (ChannelSettings) - Major refactorings of channels (and channel tests) - Throughput load test for PersistentChannel Todo: - Paged/throtlled replay (another pull request) - Resequencer (another pull request)
50 lines
No EOL
1.2 KiB
Protocol Buffer
50 lines
No EOL
1.2 KiB
Protocol Buffer
/**
|
|
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
|
|
*/
|
|
|
|
option java_package = "akka.persistence.serialization";
|
|
option optimize_for = SPEED;
|
|
|
|
message PersistentMessageBatch {
|
|
repeated PersistentMessage batch = 1;
|
|
}
|
|
|
|
message PersistentMessage {
|
|
optional PersistentPayload payload = 1;
|
|
optional int64 sequenceNr = 2;
|
|
optional string processorId = 3;
|
|
optional bool deleted = 4;
|
|
optional bool resolved = 5;
|
|
optional int32 redeliveries = 6;
|
|
repeated string confirms = 7;
|
|
optional bool confirmable = 8;
|
|
optional ConfirmMessage confirmMessage = 9;
|
|
optional string confirmTarget = 10;
|
|
optional string sender = 11;
|
|
}
|
|
|
|
message PersistentPayload {
|
|
required int32 serializerId = 1;
|
|
required bytes payload = 2;
|
|
optional bytes payloadManifest = 3;
|
|
}
|
|
|
|
message ConfirmMessage {
|
|
optional string processorId = 1;
|
|
optional int64 messageSequenceNr = 2;
|
|
optional string channelId = 3;
|
|
optional int64 wrapperSequenceNr = 4;
|
|
optional string channelEndpoint = 5;
|
|
}
|
|
|
|
message DeliverMessage {
|
|
enum ResolveStrategy {
|
|
Off = 1;
|
|
Sender = 2;
|
|
Destination = 3;
|
|
}
|
|
|
|
optional PersistentMessage persistent = 1;
|
|
optional string destination = 2;
|
|
optional ResolveStrategy resolve = 3;
|
|
} |