Akka Tools Versions Save

Open source tools to simplify Akka event sourcing, journaling/persistence, serialization, clustering and sharding.

2.5.0.0

7 years ago
  • Upgraded to Akka 2.5.0

1.1.2

7 years ago
  • Improved DMGeneratingVersion-support. If nothing has happend since last DMGeneratingVersion (or since start of time), we only save new DMGeneratingVersion to journal if app is actually storing new event.
  • Stopping error-checking in ClusterListener when JVM/App is shutting down to prevent it sometimes from triggering restart in the middle of a delayed shutdown

1.1.1

7 years ago
  • Fixing regression-bug in PersistenceIdParserImpl from version 1.0.x to 1.1.0 which used typepath without trailing slash ( / ) by default. PersistenceIdParserImpl.includeSplitCharInTag is now default true

1.1.0

7 years ago
  • Added AggregateStateBase - It is now possible to return new/extra event from inside state-transition
  • Simplified jdbc-journal-condifuration
  • Breaking source-changes, see MIGRATION-info.md for info.
  • EventsByTagQuery now supports querying for multiple tags in the same stream
  • Jdbc-journal can now be configured to use different table-names, enabling the same app to have multiple completely separate journals

1.0.11

7 years ago
  • Upgraded to Akka 2.4.10
  • PersistenceQuery's EventsByPersistenceId now also loads new events instantly - No more waiting for the next scheduled read
    • This is achieved using a Distributed pubSub-mechanism
  • Exceptions thrown by JacksonJsonSerializer.toBinary when sending msg via akka-remoting no longer brings the connection down

1.0.9.1

7 years ago
  • Fixing bug in DMGeneratingVersion - Now saving NewDMGeneratingVersionEvent also when there is nothing to fix

1.0.9

7 years ago
  • Added the concept of DMGeneratingVersion
    • If you (by mistake?) change the behaviour of an aggregate in such a way that it now sends a different amount of DMs based on the same events, this will (by default) confuse Akka's AtLeastOnceDelivery-mechanism which will try to resend what it believes is old unconfirmed messages. This can now be fixed by setting DMGeneratingVersion to a higher int-value. If this is the case, we will see that this is the case, prevent these messages from beeing sent, and store the info so we wont have this issue in the future. This feature can be used mulitple times (with multiple new versions) over time. See test for more info

1.0.8

7 years ago
  • Fixed bug in ClusterListener-errorDetection - It could wrongly detect error when it saw other alive nodes before it self has joined cluster..
  • Fixed NPE bug when reading empty snapshots - Oracle treats empty BLOBs as NULL
  • Introduced GeneralAggregateV2 and AggregateStateV2 which let you co-locate all related logic:
    • each different state-implementation has their own cmdToEvent, eventToDMs( old name: generateDMs) and eventToState (old name: transition)
  • InternalCommands (e.g GetState) are now logged with debug even though it is configured to log commands as info
  • Added skipErrorHandler:Boolean to AggregateError. If true, we skip invoking the custom onError-errorHandler attached to eventResult
  • Fixed bug in JdbcSnapshotStore related to reading snapshots when not using serializerId

1.0.7

8 years ago
  • Added new config-file param 'jdbcJournalRuntimeDataFactory' which can be used when using multiple journals with different configuration at the same time.
  • Introduced GeneralAggregateBase in favor of now deprecated GeneralAggregate
    • GeneralAggregateBase has a simpler more generic approach to generateDM
  • Preventing un-needed re-persisting of DurableMessageReceived when we receive the same one multiple times
  • Added automatic handling of re-received old commands (via DM)
    • Before: We would process it as a regular command which would fail since we have already processed it and changed our state.
    • Now: We see that we have successfully processed this command before (sender is re-sending it because it has not yet gotten our confirmation), so we ignore it and re-send the confirm
  • Improved SeedNodeResolving and Cluster-ErrorDetection

1.0.6

8 years ago
  • Added canSendAsDurableMessage():Boolean - Use it to check if it is possible to send DM
  • Fixed bug in findHighestSequenceNr when using (not full) persisteceIds / wildcards
  • Deprecated generateResultingDurableMessages in GeneralAggregate. Instead use new generateDM (via state), generateDMBefore (via Event), or generateDMAfter (via Event)
    • generateDMBefore - gets event as input and is invoked BEFORE event has been applied to state ( same as old generateResultingDurableMessages)
    • generateDMAfter - gets event as input and is invoked AFTER event has been applied to state.
    • generateDM - gets state as input and is invoked AFTER event has been applied
  • Fixing #15 - Snapshot-journal now supports SerializerWithStringManifest
    • Note! - This fix requires a change to the database layout as described here: JdbcJournal