Posted on August 08, 2016
Spine 0.5
Core Java
Spine Version 0.5 is all about event enrichments.
Features & Improvements
-
In this release we introduced Event enrichments - extra information of an event based on its type and content. The mechanism for enriching messages is based on
FieldOptions
of Protobuf message definitions. Just mark an enrichment message withenrichment_for
annotation, its fields - with by annotation, and register functions which would transform corresponding event (or context) fields to enrichment fields. There can be multiple enrichments for an event, and one enrichment can be used for multiple events. -
It is now required to define
type_url_prefix
Protobuf file option in all.proto
files, so that Spine can use your Protobuf types properly.*As direct imports make dependency analysis much easier, we removed public imports in all
.proto
files. -
In this version, we excluded slf4j-jdk14 from the published dependencies and now use it only for tests. As a Library, we provide logging facade API, not specific logger binding. Target apps are free to use any binding they need.
-
Starting from 0.5, an ability to use custom Connection Pool or Data Source is added in JDBC-based storage implementation. Also, it is possible to customize all the DB tables and queries easily, by overriding them.
-
It is possible to configure Spine Gradle Protobuf plugin with a custom target, source, and other paths.
-
Few important classes were covered with tests. Overall test coverage increased by 2.5%.
Below let us list the issues that, however, no longer endanger your development process.
- Fixed invalid entries in
known_types.properties
. - Issues with error messages were fixed.
Dependency Updates
As always, we strive for the latest and greatest. With the new release we updated to:
- gRPC 1.0.0-pre2
- Protobuf 3.0.0