eclipse-ee4j / eclipse-ee4j/jersey

CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE

Open
#4,140 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.