Skip to content

Commit 9b8aeea

Browse files
Thomas Draierapottere
authored andcommitted
Make references dynamic/greedy to take new services into account (#46)
* Make references greedy to take new services into account when they are started * Make references dynamic
1 parent 7dbd65a commit 9b8aeea

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

src/main/java/graphql/servlet/OsgiGraphQLServlet.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44
import graphql.schema.GraphQLObjectType;
55
import graphql.schema.GraphQLSchema;
66
import graphql.schema.GraphQLType;
7-
import org.osgi.service.component.annotations.Component;
8-
import org.osgi.service.component.annotations.Reference;
9-
import org.osgi.service.component.annotations.ReferenceCardinality;
10-
import org.osgi.service.component.annotations.ReferencePolicyOption;
7+
import org.osgi.service.component.annotations.*;
118

129
import javax.servlet.http.HttpServletRequest;
1310
import javax.servlet.http.HttpServletResponse;
@@ -154,23 +151,23 @@ public void unsetRootObjectBuilder(GraphQLRootObjectBuilder rootObjectBuilder) {
154151
this.rootObjectBuilder = new DefaultGraphQLRootObjectBuilder();
155152
}
156153

157-
@Reference(cardinality = ReferenceCardinality.OPTIONAL)
154+
@Reference(cardinality = ReferenceCardinality.OPTIONAL, policy= ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY)
158155
public void setExecutionStrategyProvider(ExecutionStrategyProvider provider) {
159156
executionStrategyProvider = provider;
160157
}
161158
public void unsetExecutionStrategyProvider(ExecutionStrategyProvider provider) {
162159
executionStrategyProvider = new DefaultExecutionStrategyProvider();
163160
}
164161

165-
@Reference(cardinality = ReferenceCardinality.OPTIONAL)
162+
@Reference(cardinality = ReferenceCardinality.OPTIONAL, policy= ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY)
166163
public void setInstrumentationProvider(InstrumentationProvider provider) {
167164
instrumentationProvider = provider;
168165
}
169166
public void unsetInstrumentationProvider(InstrumentationProvider provider) {
170167
instrumentationProvider = new NoOpInstrumentationProvider();
171168
}
172169

173-
@Reference(cardinality = ReferenceCardinality.OPTIONAL)
170+
@Reference(cardinality = ReferenceCardinality.OPTIONAL, policy= ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY)
174171
public void setErrorHandler(GraphQLErrorHandler errorHandler) {
175172
this.errorHandler = errorHandler;
176173
}

0 commit comments

Comments
 (0)