В CDI 1.2 есть способ проверить, проксифицирован ли экземпляр класса? Мне это нужно, потому что мне нужно получить имя исходного класса, а не имя прокси.
@Inject Bean bean;
public void sysout() {
// will print something like com.Bean$$Weld9239823
System.out.println(bean.getClass());
// I don't know how to check if the bean instance if a proxy or real class instance
}
Используя классы Weld, я могу выполнить эту работу:
public void sysout() {
// will print true because this is a proxy
System.out.println(ProxyObject.class.isAssignableFrom(bean));
// will print com.Bean
System.out.println(((TargetInstanceProxy) bean).getTargetInstance());
}
В CDI 1.1 нет способа сделать это. Я ищу в документах CDI 1.2, был ли добавлен метод по этому поводу, но я ничего не нашел.
Итак... Я что-то упустил, а в CDI 1.2 есть способ получить исходное имя класса и экземпляр? Или, если нет, есть возможность добавить эту функцию в ближайшую функцию?
Bean bean
, вы уже знаете, что он реализуетBean
- person John Ament   schedule 30.08.2014