• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

temporalio / sdk-java / #349

03 Aug 2026 05:42AM UTC coverage: 68.221% (+0.08%) from 68.143%
#349

push

github

web-flow
Add Standalone Activities to Temporal Nexus Operation Handler (#2918)

* Enable Nexus activity operations without regressing workflow updates

Compose standalone activity support with the workflow-update Nexus model already present on master. Shared token, callback, link, client, and cancellation paths retain both operation families.

Constraint: Preserve the workflow-update token and API contracts from master
Rejected: Choose one conflict side | each side would drop a supported Nexus operation family
Confidence: high
Scope-risk: moderate
Reversibility: clean
Directive: Keep activity execution at token type 2 and workflow update at token type 3
Tested: Focused temporal-sdk token, link, invoker, client, async activity, and cancellation tests
Not-tested: Full repository suite and real-server-only standalone activity cases

* Make sure we test attaching

* Make sure to handle ActivityAlreadyStartedException

* Add test with SANO

* Bump test server

7220 of 12610 branches covered (57.26%)

Branch coverage included in aggregate %.

182 of 283 new or added lines in 15 files covered. (64.31%)

13 existing lines in 3 files now uncovered.

29918 of 41828 relevant lines covered (71.53%)

0.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

75.0
/temporal-sdk/src/main/java/io/temporal/internal/client/NexusStartActivityResponse.java
1
package io.temporal.internal.client;
2

3
import io.temporal.common.Experimental;
4
import javax.annotation.Nullable;
5

6
/**
7
 * Response returned from starting an activity via {@link NexusStartActivityRequest}. Mirrors {@link
8
 * NexusStartWorkflowResponse}.
9
 */
10
@Experimental
11
public final class NexusStartActivityResponse {
12
  private final String activityId;
13
  private final @Nullable String runId;
14
  private final String operationToken;
15

16
  public NexusStartActivityResponse(
17
      String activityId, @Nullable String runId, String operationToken) {
1✔
18
    this.activityId = activityId;
1✔
19
    this.runId = runId;
1✔
20
    this.operationToken = operationToken;
1✔
21
  }
1✔
22

23
  public String getActivityId() {
NEW
24
    return activityId;
×
25
  }
26

27
  @Nullable
28
  public String getRunId() {
NEW
29
    return runId;
×
30
  }
31

32
  public String getOperationToken() {
33
    return operationToken;
1✔
34
  }
35
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc