Skip to content

Commit cc68c04

Browse files
authored
Backport fix for auto configuration to use operation's default execution strategy delegate (#412)
* Backport fix for auto configuration to use operation's default execution strategy delegate * update build branches
1 parent 4e66c59 commit cc68c04

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ name: CI
33
on:
44
workflow_dispatch:
55
push:
6-
branches: [ "master" ]
6+
branches: [ "1.1.x" ]
77
paths-ignore:
88
- '**/README.md'
99
pull_request:
10-
branches: [ "master" ]
10+
branches: [ "1.1.x" ]
1111
paths-ignore:
1212
- '**/README.md'
1313

autoconfigure/src/main/java/com/introproventures/graphql/jpa/query/autoconfigure/GraphQLSchemaBuilderAutoConfiguration.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.introproventures.graphql.jpa.query.schema.RestrictedKeysProvider;
77
import com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder;
88
import graphql.GraphQL;
9+
import graphql.execution.AsyncExecutionStrategy;
10+
import graphql.execution.SubscriptionExecutionStrategy;
911
import jakarta.persistence.EntityManager;
1012
import jakarta.persistence.EntityManagerFactory;
1113
import org.slf4j.Logger;
@@ -51,7 +53,8 @@ QueryExecutionStrategyProvider queryExecutionStrategy(
5153
var transactionTemplate = graphQLSchemaTransactionTemplate.get();
5254
transactionTemplate.setReadOnly(true);
5355

54-
return () -> newTransactionalExecutionStrategy(transactionTemplate).build();
56+
return () ->
57+
newTransactionalExecutionStrategy(transactionTemplate).delegate(new AsyncExecutionStrategy()).build();
5558
}
5659

5760
@Bean
@@ -63,7 +66,8 @@ MutationExecutionStrategyProvider mutationExecutionStrategy(
6366
var transactionTemplate = graphQLSchemaTransactionTemplate.get();
6467
transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
6568

66-
return () -> newTransactionalExecutionStrategy(transactionTemplate).build();
69+
return () ->
70+
newTransactionalExecutionStrategy(transactionTemplate).delegate(new AsyncExecutionStrategy()).build();
6771
}
6872

6973
@Bean
@@ -74,8 +78,12 @@ SubscriptionExecutionStrategyProvider subscriptionExecutionStrategy(
7478
) {
7579
var transactionTemplate = graphQLSchemaTransactionTemplate.get();
7680
transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_SUPPORTS);
81+
transactionTemplate.setReadOnly(true);
7782

78-
return () -> newTransactionalExecutionStrategy(transactionTemplate).build();
83+
return () ->
84+
newTransactionalExecutionStrategy(transactionTemplate)
85+
.delegate(new SubscriptionExecutionStrategy())
86+
.build();
7987
}
8088

8189
@Bean

0 commit comments

Comments
 (0)