In CDI 1.2 esiste un modo per verificare se un'istanza di classe è proxificata? Ho bisogno di questo perché ho bisogno di ottenere il nome della classe originale, non il nome del proxy.Controllare se la classe è sottoposta a proxy con 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
}
Uso delle classi di saldatura che posso fare questo lavoro:
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());
}
In CDI 1.1 non esiste un metodo per fare questo. Cerco all'interno dei documenti CDI 1.2 se è stato aggiunto un metodo a riguardo, ma non ho trovato nulla.
Quindi ... Mi manca qualcosa e CDI 1.2 c'è un metodo per ottenere il nome della classe e l'istanza originali? O se no, c'è un piano per aggiungere questa funzionalità in quasi caratteristica?
Qual è il caso d'uso per scoprire la classe del fagiolo? Considerando che stai iniettando 'Bean Bean', sai già che implementa' Bean' –
Hai provato questa soluzione? http://stackoverflow.com/a/7504552/2492784 – Sven