Skip to content

SpineEventEngine/core-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Spine Event Engine

Ubuntu build codecov.io   license

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.

Releases

The project is under active ongoing development. You are welcome to experiment and provide your feedback.

The latest stable version is 1.9.0.

Contents

This repository contains the code of:

  • core types;
  • client API;
  • server API;
  • testing utilities for the client- and server-side code.

Quick start and examples

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.

Building from sources

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.

Important warnings

  • 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.