У меня есть ссылка класса интерфейса и объект, который я создал с помощью динамического прокси-сервера, который реализует интерфейс выше. final Class<?> interfaceType; final Object interfaceImplementation = Proxy.newProxyInstance(...)`
Связывание интерфейса с Guice с прокси-сервером, который его реализует
Я хочу сделать экземпляр прокси доступным в контексте приложения Guice, привязывая интерфейс к прокси-объекту. Я попытался, но не смог быстро добиться этого с Гисом.
Можно ли сделать что-то вроде: bind(interfaceType).toInstance(interfaceImplementation);
, чтобы я мог ввести интерфейс в другие классы?
Фактически, неконтролируемый отбор не нужен, вы можете просто сделать «primaryInterface.cast (proxy)»; –
В приведенном вами примере представлены несколько интерфейсов, которые не так важны для этого обсуждения, но 'newProxyInstance()' точно соответствует методу, который я создаю для создания прокси. Но чтобы вернуться к вашему предложению, это не сработает, потому что вы используете общий тип T вместо захвата wild card. Класс > не может быть передан в параметр класса. Ваш образец кода действительно приблизил меня к решению, спасибо, спасибо! –
hvth
Было бы уместно поместить рабочий код в отдельный ответ или это нарушит этикетки переполнения стека? – hvth