Skip to content

Commit a5a1f87

Browse files
Merge pull request #39 from longquanzheng/rpc-timeout
2 parents 80b968b + 747cd12 commit a5a1f87

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/main/java/com/uber/cadence/samples/hello/HelloActivity.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@
1919

2020
import static com.uber.cadence.samples.common.SampleConstants.DOMAIN;
2121

22+
import com.google.common.base.Strings;
2223
import com.uber.cadence.activity.ActivityMethod;
2324
import com.uber.cadence.client.WorkflowClient;
25+
import com.uber.cadence.serviceclient.IWorkflowService;
26+
import com.uber.cadence.serviceclient.WorkflowServiceTChannel;
2427
import com.uber.cadence.worker.Worker;
2528
import com.uber.cadence.workflow.Workflow;
2629
import com.uber.cadence.workflow.WorkflowMethod;
@@ -73,7 +76,18 @@ public String composeGreeting(String greeting, String name) {
7376

7477
public static void main(String[] args) {
7578
// Start a worker that hosts both workflow and activity implementations.
76-
Worker.Factory factory = new Worker.Factory(DOMAIN);
79+
final WorkflowServiceTChannel.ClientOptions.Builder builder =
80+
new WorkflowServiceTChannel.ClientOptions.Builder();
81+
// Use 5 seconds as RPC timeout
82+
builder.setRpcTimeout(5 * 1000);
83+
IWorkflowService wfService =
84+
new WorkflowServiceTChannel(
85+
Strings.isNullOrEmpty(System.getenv("CADENCE_SEEDS"))
86+
? "127.0.0.1"
87+
: System.getenv("CADENCE_SEEDS"),
88+
7933,
89+
builder.build());
90+
Worker.Factory factory = new Worker.Factory(wfService, DOMAIN);
7791
Worker worker = factory.newWorker(TASK_LIST);
7892
// Workflows are stateful. So you need a type to create instances.
7993
worker.registerWorkflowImplementationTypes(GreetingWorkflowImpl.class);

0 commit comments

Comments
 (0)