2121
2222import com .uber .cadence .common .MethodRetry ;
2323import com .uber .cadence .common .RetryOptions ;
24+ import com .uber .cadence .context .ContextPropagator ;
2425import java .time .Duration ;
26+ import java .util .List ;
2527import java .util .Objects ;
2628
2729/** Options used to configure how an local activity is invoked. */
@@ -50,12 +52,14 @@ public static LocalActivityOptions merge(
5052 ActivityOptions .mergeDuration (
5153 a .scheduleToCloseTimeoutSeconds (), o .getScheduleToCloseTimeout ()))
5254 .setRetryOptions (RetryOptions .merge (r , o .getRetryOptions ()))
55+ .setContextPropagators (o .getContextPropagators ())
5356 .validateAndBuildWithDefaults ();
5457 }
5558
5659 public static final class Builder {
5760 private Duration scheduleToCloseTimeout ;
5861 private RetryOptions retryOptions ;
62+ private List <ContextPropagator > contextPropagators ;
5963
6064 public Builder () {}
6165
@@ -83,25 +87,32 @@ public Builder setRetryOptions(RetryOptions retryOptions) {
8387 return this ;
8488 }
8589
90+ public Builder setContextPropagators (List <ContextPropagator > contextPropagators ) {
91+ this .contextPropagators = contextPropagators ;
92+ return this ;
93+ }
94+
8695 public LocalActivityOptions build () {
87- return new LocalActivityOptions (scheduleToCloseTimeout , retryOptions );
96+ return new LocalActivityOptions (scheduleToCloseTimeout , retryOptions , contextPropagators );
8897 }
8998
9099 public LocalActivityOptions validateAndBuildWithDefaults () {
91100 RetryOptions ro = null ;
92101 if (retryOptions != null ) {
93102 ro = new RetryOptions .Builder (retryOptions ).validateBuildWithDefaults ();
94103 }
95- return new LocalActivityOptions (roundUpToSeconds (scheduleToCloseTimeout ), ro );
104+ return new LocalActivityOptions (roundUpToSeconds (scheduleToCloseTimeout ), ro , contextPropagators );
96105 }
97106 }
98107
99108 private final Duration scheduleToCloseTimeout ;
100109 private final RetryOptions retryOptions ;
110+ private final List <ContextPropagator > contextPropagators ;
101111
102- private LocalActivityOptions (Duration scheduleToCloseTimeout , RetryOptions retryOptions ) {
112+ private LocalActivityOptions (Duration scheduleToCloseTimeout , RetryOptions retryOptions , List < ContextPropagator > contextPropagators ) {
103113 this .scheduleToCloseTimeout = scheduleToCloseTimeout ;
104114 this .retryOptions = retryOptions ;
115+ this .contextPropagators = contextPropagators ;
105116 }
106117
107118 public Duration getScheduleToCloseTimeout () {
@@ -112,6 +123,10 @@ public RetryOptions getRetryOptions() {
112123 return retryOptions ;
113124 }
114125
126+ public List <ContextPropagator > getContextPropagators () {
127+ return contextPropagators ;
128+ }
129+
115130 @ Override
116131 public String toString () {
117132 return "LocalActivityOptions{"
0 commit comments