Skip to content

Commit e932a55

Browse files
committed
Fix default subscription execution strategy
1 parent c8bb3ac commit e932a55

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/java/graphql/servlet/DefaultExecutionStrategyProvider.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import graphql.execution.AsyncExecutionStrategy;
44
import graphql.execution.ExecutionStrategy;
5+
import graphql.execution.SubscriptionExecutionStrategy;
6+
7+
import java.util.function.Supplier;
58

69
/**
710
* @author Andrew Potter
@@ -22,16 +25,16 @@ public DefaultExecutionStrategyProvider(ExecutionStrategy executionStrategy) {
2225

2326
public DefaultExecutionStrategyProvider(ExecutionStrategy queryExecutionStrategy, ExecutionStrategy mutationExecutionStrategy, ExecutionStrategy subscriptionExecutionStrategy) {
2427
this.queryExecutionStrategy = defaultIfNull(queryExecutionStrategy);
25-
this.mutationExecutionStrategy = defaultIfNull(mutationExecutionStrategy, this.queryExecutionStrategy);
26-
this.subscriptionExecutionStrategy = defaultIfNull(subscriptionExecutionStrategy, this.queryExecutionStrategy);
28+
this.mutationExecutionStrategy = defaultIfNull(mutationExecutionStrategy, () -> this.queryExecutionStrategy);
29+
this.subscriptionExecutionStrategy = defaultIfNull(subscriptionExecutionStrategy, SubscriptionExecutionStrategy::new);
2730
}
2831

2932
private ExecutionStrategy defaultIfNull(ExecutionStrategy executionStrategy) {
30-
return defaultIfNull(executionStrategy, new AsyncExecutionStrategy());
33+
return defaultIfNull(executionStrategy, AsyncExecutionStrategy::new);
3134
}
3235

33-
private ExecutionStrategy defaultIfNull(ExecutionStrategy executionStrategy, ExecutionStrategy defaultStrategy) {
34-
return executionStrategy != null ? executionStrategy : defaultStrategy;
36+
private ExecutionStrategy defaultIfNull(ExecutionStrategy executionStrategy, Supplier<ExecutionStrategy> defaultStrategy) {
37+
return executionStrategy != null ? executionStrategy : defaultStrategy.get();
3538
}
3639

3740
@Override

0 commit comments

Comments
 (0)