JustinDB - executable JAR
Preface
In the “iTermocil - divide and conquer your terminal like a PRO” blogpost I showed to you a way of running local JustinDB cluster (imitation). It runs sbt process under project catalog in different terminal panes. As this way was convenient in continous development I have had sometimes the feeling its simply too slow (a couple of parallely working sbt processes trying to crunch the same sources at the same time) and it would be better idea to run already having generated package.
Patience has its limits. Take it too far, and it's cowardice.
George Jackson
Assembly
I’ve finally decided to employ sbt-assembly
plugin. It creates a fat JAR of your project with all of its dependencies. 👊
Now simply by invoking sbt assembly
command I am able to build new version of JustinDB JAR.
That way I’ve got the possibility of running full standalone JustinDB instance in very fast way!
Take a look at the pictures to see how I build exemplary JustinDB JAR and then form cluster on top of it (with passed appropriate parameters). Once JAR is built I’m running 3-node cluster (right side of terminal). Exemplary command to run single node is:
java -jar -Djustin.node-id=0 -Djustin.http.port=9000 -Djustin.netty-tcp-port=2551 JustinDB-assembly-0.3.jar
note: 0.3
is the current version of JustinDB
defined in build.sbt
file (that come from this name).
Building: 👷 JAR is building
Note:
Built JAR is placed under target/scala-2.12 project catalog
Running: 🚴 On the right side you can see formed JustinDB cluster built on top of already generated JAR
Summary
You can try to download JustinDB sources from GitHub (official repository) and do it by yourself. That way you can start to play with it! 💪
Seeing all this running processes make my heart beating faster. 💖