Skip to content

Commit 0cd9c84

Browse files
authored
Converter Async.invoke to Async.function (#11)
1 parent 486cbfc commit 0cd9c84

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.uber.cadence.worker.Worker;
2222
import com.uber.cadence.workflow.Async;
2323
import com.uber.cadence.workflow.Functions;
24+
import com.uber.cadence.workflow.Functions.Func;
2425
import com.uber.cadence.workflow.Promise;
2526
import com.uber.cadence.workflow.Workflow;
2627
import com.uber.cadence.workflow.WorkflowMethod;
@@ -47,7 +48,7 @@ public interface GreetingActivities {
4748

4849
/**
4950
* GreetingWorkflow implementation that calls GreetingsActivities#composeGreeting
50-
* using {@link Async#invoke(Functions.Proc)}.
51+
* using {@link Async#function(Func)}.
5152
*/
5253
public static class GreetingWorkflowImpl implements GreetingWorkflow {
5354

@@ -60,8 +61,8 @@ public static class GreetingWorkflowImpl implements GreetingWorkflow {
6061
@Override
6162
public String getGreeting(String name) {
6263
// Async.invoke takes method reference and activity parameters and returns Promise.
63-
Promise<String> hello = Async.invoke(activities::composeGreeting, "Hello", name);
64-
Promise<String> bye = Async.invoke(activities::composeGreeting, "Bye", name);
64+
Promise<String> hello = Async.function(activities::composeGreeting, "Hello", name);
65+
Promise<String> bye = Async.function(activities::composeGreeting, "Bye", name);
6566

6667
// Promise is similar to the Java Future. Promise#get blocks until result is ready.
6768
return hello.get() + "\n" + bye.get();

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ public String getGreeting(String name) {
7272
// Async.invoke accepts not only activity or child workflow method references
7373
// but lambda functions as well. Behind the scene it allocates a thread
7474
// to execute it asynchronously.
75-
Promise<String> result1 = Async.invoke(() -> {
75+
Promise<String> result1 = Async.function(() -> {
7676
String greeting = activities.getGreeting();
7777
return activities.composeGreeting(greeting, name);
7878
});
79-
Promise<String> result2 = Async.invoke(() -> {
79+
Promise<String> result2 = Async.function(() -> {
8080
String greeting = activities.getGreeting();
8181
return activities.composeGreeting(greeting, name);
8282
});

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public String getGreeting(String name) {
6363
GreetingChild child = Workflow.newWorkflowStub(GreetingChild.class);
6464

6565
// This is blocking call that returns only after child is completed.
66-
Promise<String> greeting = Async.invoke(child::composeGreeting, "Hello", name);
66+
Promise<String> greeting = Async.function(child::composeGreeting, "Hello", name);
6767
// Do something else here
6868
return greeting.get(); // blocks waiting for child to complete
6969
}

0 commit comments

Comments
 (0)