当前位置: 首页 > 知识库问答 >
问题:

升级jersey 2.25.1 2.32后AbstractBinder不工作

章鸿光
2023-03-14

升级后的泽西版本抽象活页夹不工作。我把工厂改为供应商,而AbstractBinder是从泽西内部进口的。但问题并没有解决。

public class App extends ResourceConfig {
    public App() {
        register(new Binder());
    }
}
 import org.glassfish.jersey.internal.inject.AbstractBinder; 
 import org.glassfish.jersey.process.internal.RequestScoped;  
 public class Binder extends AbstractBinder{

     @Override
     protected void configure() {
         bindFactory(ModelFactory.class)
        .proxy(true)
        .proxyForSameScope(false)
        .to(Model.class)
        .in(RequestScoped.class);
     }
 }
@Provider
public class ModelFactory implements Supplier<Model> {

    @Context
    HttpServletRequest request;

    @Override
    public Model get() {
        Model model = new Model();
        model.setHeaderParam(request.getHeader("key"));
        return model;
     }
}
public Service {

    @Context
    Model model;
}

共有1个答案

东门晨
2023-03-14

您需要使用@inject而不是@context.

用法示例:

public class AuthenticatedDriveFactory implements Supplier<AuthenticatedDrive> {


   @Inject
   private DFMSClient client;

   @Override
   public AuthenticatedDrive get() {

      return new AuthenticatedDrive(client.createDriveServices());
   }

  }
   public class Binder extends AbstractBinder {
      @Override
      protected void configure() {
         bindFactory(AuthenticatedDriveFactory.class).to(AuthenticatedDrive.class).in(Singleton.class);
      }
   }
@Path("/drive")
public class DriveResource extends DriveApi {

   @Context
   private HttpServletRequest httpRequest;

   @Inject
   private AuthenticatedDrive drive;   <-- Use @Inject instead of @Context

}
 类似资料:
  • 我最近更新了我的自制Python 3.8安装。2至3.8。3.做完后,我跑了 以检查是否有任何更新。它更新了我从20.0安装的。2至20.1。1,并且自从我运行该命令以来,在我尝试使用它的任何时候都会抛出一个错误。以下是错误: 升级过程中似乎出现了一些问题,未能更改代码中的版本检查。我看到了类似的问题,但公认的答案对我来说并不适用。如何使再次可用?

  • 我尝试使用以下命令升级pip3: 安装升级pip 但不幸的是,它不再工作,并显示以下信息: pip3——版本 信息: 回溯(最后一次调用): 文件/usr/local/lib/python3.4/dist-packages/pkg_-resources/init.py”,第651行,在“构建主ws.require(requires) 文件/usr/local/lib/python3.4/dist-

  • 我正在运行《docker compose》中的jenkins,来自图片jenkins/jenkins。升级到Jenkins 2.277.1后,LDAP身份验证停止工作,我无法登录。我收到以下错误: 詹金斯。docker。new\u 1 | 2021 06-04 14:49:31.3110000[id=138]警告o.j.p.p.DiskUsageCollector#collect:无法获取磁盘使用

  • 与pip一起运行命令会出现以下错误。甚至命令也会产生以下错误。 我读到这个错误是由setupols版本31.0.0引起的,它应该低于28.0.0。但是我的setupols的版本是26.1.1,它仍然给出了相同的错误。

  • 我刚刚更新了一些flutter软件包。但是,在执行flutter运行时我一直收到此错误。如果我将apk直接安装到设备上,它可以正常工作(这意味着我可以执行flutter build apk),但是,在调试模式下看不到运气。 我最初发布这个帖子时有一个multidex问题,我想我已经通过在build.gradle中将gradle地址更新为4.3.zip解决了这个问题。 任何帮助都将不胜感激。 这是我