Build invincible applications with Temporal using the Java SDK.
# build the project
./mvnw clean compile
# launch temporal server/ui
temporal server start-dev --ui-port 8080
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._1.HelloWorker"
# start a workflow execution
temporal workflow start --type HelloWorkflow -t hello-task-queue -w my-first-workflow --input '"Vincent"'
# show the workflow execution
temporal workflow show -w my-first-workflow
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._1.HelloWorker"
# start a workflow execution
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._2.StartWorkflow" -Dexec.args="'Vincent'"
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._1.HelloWorker"
# start a schedule workflow execution
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._3.StartScheduleWorkflow"
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._4.OrderWorker"
# start a workflow execution
temporal workflow start --type OrderWorkflow -w my-order-workflow -t order-task-queue
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._5.RetryWorker"
# start a workflow execution
temporal workflow start --type RetryWorkflow -w my-retry-workflow -t retry-task-queue
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._6.SleepyWorker"
# start a workflow execution
temporal workflow start --type SleepyWorkflow -w my-sleepy-workflow -t sleepy-task-queue
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._7.SignalWorker"
# start a workflow execution
temporal workflow start --type SignalWorkflow -w my-signal-workflow -t sleepy-task-queue
# send a signal using temporal cli
temporal workflow signal --name "my-signal" -w "my-signal-workflow" -i '{ "value":"hello-signal", "count": 1}'
# ... or with SDK
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._7.SignalSender"
# start the worker
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._8.worker.StartWorker"
# start a notify workflow execution
temporal workflow start --type NotifyWorkflow -w my-notify-workflow -t my-task-queue -i '"vince@nospam.org"'
# start a register workflow execution
temporal workflow start --type RegisterWorkflow -w my-register-workflow -t my-task-queue -i '"vince@nospam.org"'
# show a workflow execution using temporal cli
temporal workflow show -w my-notify-workflow -o json
# ... or with SDK
./mvnw exec:java -Dexec.mainClass="com.github.vspiewak.temporal._9.ShowWorkflow" -Dexec.args="my-notify-workflow"