eclipse-ee4j / eclipse-ee4j/jersey
CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE
- Dominant language
- Java
- Stars
- 730
- Forks
- 382
- PR merge metrics
- No merged PRs in 30d
Description
Hi. I've an OSGi application but METAINF_SERVICES_LOOKUP_DISABLE stopped working when i upgraded Jersey from 2.13 to 2.25.1.
I have two OSGi bundles: BundleA and BundleB. bundleA contains META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider. bundleB creates embedded Jetty with Jersey and CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE set to true. After Jersey upgrade BundleB began detecting BundleA service but expected not to do so.
I think this might happen because getRankedComponentProviders() changed from:
```
private Iterable> getRankedComponentProviders() throws ServiceConfigurationError {
final List> result = new LinkedList<>();
final boolean enableMetainfServicesLookup = !CommonProperties.getValue(application.getProperties(), RuntimeType.SERVER,
CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE, false, Boolean.class);
if (enableMetainfServicesLookup) {
for (final ComponentProvider provider : ServiceFinder.find(ComponentProvider.class)) {
result.add(new RankedProvider<>(provider));
}
Collections.sort(result, new RankedComparator(Order.DESCENDING));
}
return result;
}
```
to
```
private static Iterable> getRankedComponentProviders() throws ServiceConfigurationError {
final List> result = new LinkedList<>();
for (final ComponentProvider provider : ServiceFinder.find(ComponentProvider.class)) {
result.add(new RankedProvider<>(provider));
}
Collections.sort(result, new RankedComparator(Order.DESCENDING));
return result;
}
```
after upgrade. METAINF_SERVICES_LOOKUP_DISABLE property checking has been removed.
Thank you
Contributor guide
Assessment
This issue has not been assessed yet.