[在调用某些Rest服务时,我收到HK2验证失败错误。最近,我将应用程序从JDK 8迁移到Open jdk 12。
我将org.glassfish.hk2.utilities.binding.AbstractBinder中的AbstractBinder包替换为org.glassfish.jersey.internal.inject.AbstractBinder。另外,我正在使用的自定义绑定工厂类是较早实现的org.glassfish.hk2.api.Factory,但现在我对其进行了修改,以实现java.util.function.Supplier。这给了我提到的错误。请看一下代码:
import org.glassfish.jersey.internal.inject.AbstractBinder; import org.glassfish.jersey.process.internal.RequestScoped; public class AppBinder extends AbstractBinder { @Override protected void configure() { bindFactory(CustomFactory.class).to(Search.class).in(RequestScoped.class); } } import org.glassfish.hk2.api.ServiceLocator; import java.util.function.Supplier; import javax.ws.rs.core.UriInfo; public class CustomFactory implements Supplier<Search> { @Inject private ServiceLocator serviceLocator; public CustomFactory() { } @Override public Search get() { return this.getSearch(serviceLocator.getAllServices(UriInfo.class).get(0).getQueryParameters()); } }
自定义绑定工厂用于其他一些操作,例如关闭连接等。我是用正确的方式做的还是应该使用其他方法定义自定义工厂并在AppBinder类中使用它。
[在调用某些Rest服务时,我收到HK2验证失败错误。最近,我将应用程序从JDK 8迁移到Open jdk12。我从org.glassfish.hk2 ....替换了AbstractBinder程序包。...
感谢Paul Samsotha在评论中的建议,该问题已得到解决。