Posted on April 20, 2016
- Added SPI annotation to enable framework extension and replaceable components (implement a new storage, etc.).
- Added a requirement to mark entity protobuf state definitions with the
- Added business Failures to distinguish from technical errors.
- Added Target ID as first required field in commands for entities.
- Removed file system storage implementation since JDBC storage can be used instead.
- Changed event and command IDs to be based on string UUID — previously they were composed of several fields, now they are part of Context.
- Added ClientService definition for establishing client connection, posting commands and receiving stream of events.
- Changed project module structure to:
- Added the default implementation of the
getDefaultState()method to Entity.
CommandRouterto Process Manager which allows creating and posting one or more commands in response to a command received by the ProcessManager.
- Added protobuf custom options for message validation ( for commands on posting).
- Added storage tests that can be used in different storage implementations.
- Added the ability to store the status of command processing to Command Store.
- Added the ability for Process Manager Repository to retrieve Process Manager ID from handled events and commands.
- Added integration with Java Code Coverage (JaCoCo).
- Added integration with Travis CI.
- Improved code coverage to 83%.
- Added the
getBuilder()method for convenient updating of the Aggregate state in Event Appliers.
- Added the ability to schedule command delivery.
- Updated to gRPC 2.11.
- Updated to protobuf 3.0.0 beta-2.
- Updated gradle to version 2.11.
- Added the first version of the Framework documentation on docs/spine3.org.
- Updated to 1.3.2 version.
- Fixed Proto Lookup Plugin.
- Added Entity Lookup Plugin that searches commands for entities based on entity states marked
- Added Failures generation plugin.
- Added jdbc storages implementation.