Siddhi Distribution
Introduction
Siddhi is a Streaming and Complex Event Processing engine that listens to events from data streams, detects complex conditions described via a Streaming SQL language, and triggers actions. This repo contains necessary source code which creates the Siddhi runner and Siddhi tooling distributions by embedding Siddhi library in it.
Siddhi maintains two distributions as Siddhi-Runner and Siddhi-Tooling distribution.
-
Siddhi-Runner distribution bundles the Siddhi runtime which runs the Siddhi logic in a production environment.
-
Siddhi-Tooling distribution bundles the tooling editor profile which can be used for developing, testing and debugging Siddhi applications before moving to production.
Build from Source
Prerequisites
- Oracle JDK 8 or OpenJDK 8 (Java 8 should be used for building in order to support both Java 8 and Java 11 at runtime)
- Maven 3.5.x version
- Docker 17.09+ (You enable docker dependent build profiles with
-Dwith-docker
maven property) - Node.js 8+
Steps to Build
-
Get a clone or download source from Github
git clone https://github.com/siddhi-io/distribution.git
-
Run the Maven command
mvn clean install
from the root directory -
Find the Siddhi distributions in the following directories,
Runner: runner/target
Tooling: tooling/target
Try Siddhi Runner & Tooling
Siddhi Runner Distribution
Download the latest released distributions from here
-
Extract the Siddhi runner distribution.
-
Unzip the siddhi-runner-x.x.x.zip.
-
Navigate to the <RUNNER_HOME>/bin directory. Start SiddhiApps with the runner config by executing the following commands from the distribution directory
Linux/Mac :
./bin/runner.sh -Dapps=<siddhi-file> -Dconfig=<config-yaml-file>
Windows :
bin\runner.bat -Dapps=<siddhi-file> -Dconfig=<config-yaml-file>
Running Multiple SiddhiApps in one runner
To run multiple SiddhiApps in one runtime, have all SiddhiApps in a directory and pass its location through -Dapps
parameter as follows,
-Dapps=<siddhi-apps-directory>
"Always use absolute path for SiddhiApps and runner configs." Providing absolute path of SiddhiApp file, or directory in
-Dapps
parameter, and when providing the Siddhi runner config yaml on-Dconfig
parameter while starting Siddhi runner.
Siddhi Tooling Distribution
Download the latest released distributions from here
- Extract the Siddhi tooling distribution.
- Navigate to the <TOOLING_HOME>/bin directory and issue the following command:
For Windows:tooling.bat
For Linux:./tooling.sh
- Access the Editor UI using the following URL.
http://localhost:<EDITOR_PORT>/editor (e.g: https://localhost:9390/editor)
Please refer the link for more details.
Reporting Issues
We encourage you to report issues. However, please consider searching the existing issues in GitHub and communicating in Siddhi-Dev Google Group if you are unsure if it is a bug before filing a new issue.
To file a non-security issues:
-
Click the Issues tab in the GitHub repository,
-
Click the New Issue button,
-
Fill out all sections in the issue template and submit.
Communicating with the team
Siddhi-Dev Google Group Group is the main Siddhi project discussion forum for developers.
Users can use Siddhi-User Google Group to raise any queries and get some help to achieve their use cases.
StackOverflow also can be used to get support, and GitHub for issues and code repositories.