У меня есть два 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.