Я пытаюсь использовать клиент WS с игрой 2.7.4 внутри модуля, и у меня возникают проблемы. Я бы предпочел не создавать клиент самостоятельно, как описано здесь а скорее зависимость вводит его с помощью guice. Кажется, это не работает, мой экземпляр нулевой. Если я использую клиент WS вне модуля, все работает.
Согласно тому, что я прочитал здесь, доступны только Config и Environment. point внутри модуля, больше ничего не привязано.
Есть ли способ добиться этого?
[править 1]
Из этого ответа я понимаю, что нужно создать такой класс провайдера, куда я обычно его ввожу
public class WSClientProvider implements Provider<WSClient> {
WSClient wsClient;
@Inject
public WSClientProvider(WSClient wsClient) {
this.wsClient = wsClient;
}
@Override
public WSClient get() {
return wsClient;
}
}
а затем внутри модуля, чтобы просто связать его вот так
bind(WSClient.class).toProvider(WSClientProvider.class);
Но это не работает в моем случае. Что мне здесь не хватает?
[править 2]
Это мой модуль на данный момент
public class SecurityModule extends AbstractModule {
private final Environment environment;
private final Config configuration;
public SecurityModule(final Environment environment, final Config configuration) {
this.environment = environment;
this.configuration = configuration;
}
@Override
protected void configure() {
...some bindings...
}
@Provides
private ObjectA provideMyObjectA() {
return new ObjectA(); <-- we want to inject the WSClient inside this object
}