An event engine developed for the Virtual Referent Space (VRS). The project is licensed under Apache License 2.0. You may find the terms in file named "LICENSE" in this directory.
The project implements several modules with the following purpose:
- Events - structural representation of complex events. Provides initialisation and computation mechanisms for them.
- Annotations - used to define new event structures and validate them during compilation if annotation processing is enabled. The module is required by the 'Events' one.
- Serializers - serialisation and encoding mechanisms for events (like for e.g. JSON ;; BASE32 ;; etc.)
- Dispatchers - uniform, high-level implementation for distribution of events based on broker systems like ActiveMQ or Kafka.
- Java 8+
- Maven 3.6.2+ or IntelliJ IDEA 2019.1+
- With IntelliJ IDEA:
- Open the project and build it using the GUI menu.
- With Maven:
- Execute
mvn clean install -P java8
- Execute
-
With IntelliJ IDEA:
- Open the project.
- In project's settings specify Project JDK to be JDK9 or later
- For every module copy the file module-info.java inside its java directory.
-
With Maven:
- Execute
mvn clean install -P java9p
- Execute
At this point the examples are extremely limited, so please refer to the java documentation and the unit tests. You can also examine the test examples of Event Engine for JADE project.
The combined jar files of all project's modules are not recommended for production use. Work with the individually generated jars instead!
Pay attention to IntelliJ IDEA settings if you are using Maven to build the project. Especially when changing JDK version during imports and runs. The environment variable JAVA_HOME might be mandatory to set if you have several JDK versions, in order to guarantee that maven javadoc plugin is using the correct JRE (see below).
Event Engine relies on not modularized yet dependencies. Migrating to Java 9+ may cause problems. Compilation for Java 9+ with Maven will succeed, but the javadoc generation might fail.