Spine Event Engine is a Java framework for building Event Sourcing and CQRS applications that are accessed by clients built with JavaScript, Java Nano (Android), Dart, and Java.
The project is under active ongoing development. You are welcome to experiment and provide your feedback.
The latest stable version is 1.9.0.
This repository contains the code of:
- core types;
- client API;
- server API;
- testing utilities for the client- and server-side code.
Please see the “Quick Start” guide which goes through a Hello World project showing how to create a Spine-based project.
More introductory application examples are available from the Spine Examples GitHub organization.
Starting version 2.0.0-SNAPSHOT.82
building Spine modules requires JDK 11. Prior versions
could be built with JDK 8 only.
Gradle is used as a build and dependency management system.
This repository uses configuration files shared across several Spine libs. They are plugged in as a Git sub-module. Please use the following command to initialize it:
git submodule update --init --recursive
Also, a pull
script is located in the root of core-java
repository. Use it to update to the
latest version of the configuration files.
-
The code annotated with
@Internal
are not parts of public API of the framework, therefore should not be used from outside of the framework. -
The public API marked as
@Experimental
may be used at own risk; it can change at any time, and has no guarantee of API stability or backward-compatibility. -
The API annotated with
@SPI
is for those who intend to extend the framework, or provide custom storage implementations.
If you need to use API with one of these annotations, please contact us.