Инъекция зависимостей Hk2 Для приложения dropwizard java - PullRequest
0 голосов
/ 01 июля 2018

У меня есть два java-приложения dropwizard в двух модулях. Давайте скажем A и B , и наш B модуль зависит от A .

Теперь я хочу внедрить другого клиента в двух разных ситуациях, то есть одна, когда запускается dropwizard A , и другая, когда запускается dropwizard B .

Предположим, что Myclass находится в A модуле:

public class MyClass
{
  @Inject
  private final CustomClient client;

}

Я хочу сделать это с помощью внедрения зависимостей HK2. Обратите внимание, что класс Myclass не является классом ресурсов ...

В настоящее время я зарегистрировал другую реализацию для CustomClient в своем приложении модуля B , например:

environment.jersey().register(new AbstractBinder() {
      @Override
      protected void configure() {
        ...
        bind(new MyCustomClient()).to(CustomClient.class);
        ...
      }
    });

Но когда я запускаю приложение B и вызываю из него класс MyClass of A, я получаю значение NULL для CustomClient класса Myclass в модуле A .

Но я думал, что получу экземпляр MyCustomClient после инъекции.

Как мне добиться того, чего я хочу, с HK2 DI?

Примечание: я хочу сделать инъекцию в обычном Java-классе с HK2.

...