eclipse-ee4j / eclipse-ee4j/jersey

ComponentProvider not working when use `register` strategy !!!

Open
#3,770 7 comments 0 reactions 0 assignees View on GitHub
Type: Bug
Dominant language
Java
Stars
730
Forks
382
PR merge metrics
No merged PRs in 30d

Description

As the docs https://jersey.github.io/documentation/latest/user-guide.html#deployment.classpath-scanning said, i set `ServerProperties.METAINF_SERVICES_LOOKUP_DISABLE` to `true` and regist a self defined `ComponentProvider` named `TestComponentProvider` as follows:
```java
import org.glassfish.jersey.jackson.JacksonFeature;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.ServerProperties;

public class ApplicationConfig extends ResourceConfig {

public ApplicationConfig() {
// ...
register(new TestComponentProvider());
property(ServerProperties.METAINF_SERVICES_LOOKUP_DISABLE, true);
}
}
```

```java
import org.glassfish.jersey.internal.inject.InjectionManager;
import org.glassfish.jersey.server.spi.ComponentProvider;

import java.util.Set;

public class TestComponentProvider implements ComponentProvider {
@Override
public void initialize(InjectionManager injectionManager) {
System.out.println("-------------------->TestComponentProvider");
}

@Override
public boolean bind(Class component, Set> providerContracts) {
return false;
}

@Override
public void done() {

}
}
```

but `TestComponentProvider` did not regist successfully, anyone knows why?

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.