- // When persisting events with persist it is guaranteed that the
- // persistent actor will not receive further commands between the
- // persist call and the execution(s) of the associated event
- // handler. This also holds for multiple persist calls in context
- // of a single command.
- context.getPersistenceProvider().persist(replicatedLogEntry,
- new Procedure<ReplicatedLogEntry>() {
- @Override
- public void apply(final ReplicatedLogEntry param) throws Exception {
- context.getLogger().debug("{}: persist complete {}", context.getId(), param);
-
- int logEntrySize = param.size();
- dataSizeSinceLastSnapshot += logEntrySize;
-
- if (callback != null) {
- callback.apply(param);
- }
- }
+ Procedure<ReplicatedLogEntry> persistCallback = persistedLogEntry -> {
+ context.getLogger().debug("{}: persist complete {}", context.getId(), persistedLogEntry);
+
+ dataSizeSinceLastSnapshot += persistedLogEntry.size();
+
+ if (callback != null) {
+ callback.apply(persistedLogEntry);