Skip to main content

How to develop a Worker Program in Java

Use the newWorker method on an instance of a WorkerFactory to create a new Worker in Java.

A single Worker Entity can contain many Worker Objects. Call the start() method on the instance of the WorkerFactory to start all the Workers created in this process.

// ...
import io.temporal.client.WorkflowClient;
import io.temporal.serviceclient.WorkflowServiceStubs;
import io.temporal.worker.Worker;
import io.temporal.worker.WorkerFactory;

public class YourWorker {

public static void main(String[] args) {

WorkflowServiceStubs service = WorkflowServiceStubs.newLocalServiceStubs();
WorkflowClient client = WorkflowClient.newInstance(service);
WorkerFactory factory = WorkerFactory.newInstance(client);
Worker yourWorker = factory.newWorker("your_task_queue");

// Register Workflow
// and/or register Activities


After creating the Worker entity, register all Workflow Types and all Activity Types that the Worker can execute. A Worker can be registered with just Workflows, just Activities, or both.

Operation guides: