Created
November 6, 2015 16:23
-
-
Save MichaelDrogalis/3e61cb82fc7df9a771a0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package onyxjava; | |
import java.util.Arrays; | |
import onyxjava.API; | |
public class OnyxJava { | |
public static void main(String[] args) { | |
EnvConfiguration envConfig = new EnvConfiguration(); | |
envConfig = envConfig.addParameter("zookeeper/address", "127.0.0.1:2188"); | |
envConfig = envConfig.addParameter("zookeeper/server?", true); | |
envConfig = envConfig.addParameter("zookeeper.server/port", 2188); | |
envConfig = envConfig.addParameter("onyx.bookkeeper/server?", true); | |
envConfig = envConfig.addParameter("onyx.bookkeeper/local-quorum?", true); | |
envConfig = envConfig.addParameter("onyx.bookkeeper/local-quorum-ports", Arrays.asList(3196, 3197, 3198)); | |
PeerConfiguration peerConfig = new PeerConfiguration(); | |
peerConfig = peerConfig.addParameter("zookeeper/address", "127.0.0.1:2188"); | |
peerConfig = peerConfig.addParameter("onyx.peer/job-scheduler", "onyx.job-scheduler/greedy"); | |
peerConfig = peerConfig.addParameter("onyx.peer/zookeeper-timeout", 60000); | |
peerConfig = peerConfig.addParameter("onyx.messaging.aeron/embedded-driver?", true); | |
peerConfig = peerConfig.addParameter("onyx.messaging/allow-short-circuit?", false); | |
peerConfig = peerConfig.addParameter("onyx.messaging/impl", "aeron"); | |
peerConfig = peerConfig.addParameter("onyx.messaging/peer-port", 40199); | |
peerConfig = peerConfig.addParameter("onyx.messaging/bind-addr", "localhost"); | |
Workflow workflow = new Workflow(); | |
workflow = workflow.addEdge("read-input", "increment-number"); | |
workflow = workflow.addEdge("increment-number", "write-output"); | |
System.out.println(workflow); | |
Task task1 = new Task(); | |
task1 = task1.addParameter("onyx/name", "read-input"); | |
task1 = task1.addParameter("onyx/type", "input"); | |
System.out.println(task1); | |
Task task2 = new Task(); | |
task2 = task2.addParameter("onyx/name", "increment-number"); | |
task2 = task2.addParameter("onyx/type", "function"); | |
System.out.println(task2); | |
Task task3 = new Task(); | |
task3 = task3.addParameter("onyx/name", "write-output"); | |
task3 = task3.addParameter("onyx/type", "output"); | |
System.out.println(task3); | |
Catalog catalog = new Catalog(); | |
catalog = catalog.addTask(task1); | |
catalog = catalog.addTask(task2); | |
catalog = catalog.addTask(task3); | |
System.out.println(catalog); | |
LifecycleCalls inputInjectCalls = new LifecycleCalls(); | |
inputInjectCalls = inputInjectCalls.addParameter("lifecycle/task", "read-input"); | |
inputInjectCalls = inputInjectCalls.addParameter("lifecycle/calls", "onyx-java.test-ns/in-calls"); | |
LifecycleCalls inputCASCalls = new LifecycleCalls(); | |
inputCASCalls = inputCASCalls.addParameter("lifecycle/task", "read-input"); | |
inputCASCalls = inputCASCalls.addParameter("lifecycle/calls", "onyx.plugin.core-async/reader-calls"); | |
Lifecycle lifecycles = new Lifecycle(); | |
lifecycles = lifecycles.addLifecycleCalls(inputInjectCalls); | |
lifecycles = lifecycles.addLifecycleCalls(inputCASCalls); | |
Job job = new Job(); | |
job = job.addParameter("workflow", workflow); | |
job = job.addParameter("catalog", catalog); | |
job = job.addParameter("lifecycles", lifecycles); | |
API.submitJob(peerConfig, job); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment