Posted on April 20, 2016
Spine 0.3
Core Java
- 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
state_of
annotation. - 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:
client
,server
andvalues
. - Added the default implementation of the
getDefaultState()
method to Entity. - Added
CommandRouter
to 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.
Dependency Updates
- Updated to gRPC 2.11.
- Updated to protobuf 3.0.0 beta-2.
- Updated gradle to version 2.11.
Documentation
- Added the first version of the Framework documentation on docs/spine3.org.
Plugins:
- Updated to 1.3.2 version.
- Fixed Proto Lookup Plugin.
- Added Entity Lookup Plugin that searches commands for entities based on entity states marked
with
state_of
annotation. - Added Failures generation plugin.
Storages Implementation
- Added jdbc storages implementation.