JBoss AS 7, EJB3 cast interfaccia
Domanda
Sono di fronte a un comportamento strano con JBoss AS 7 e la mia applicazione che utilizza EJB3.1. I fagioli con successo di ricerca, ma quando Im che prova a lanciarla alla sua interfaccia, viene lanciata un'eccezione.
Codice in breve:
@Local
public interface BusinessObjectsFactory { ... }
@Stateless
@Local(BusinessObjectsFactory.class)
public class JPABusinessObjectsFactory implements BusinessObjectsFactory { ... }
...
Object obj = ctx.lookup("java:app/moduleName/" +
"JPABusinessObjectsFactory!pckg.BusinessObjectsFactory");
Class c = obj.getClass();
System.out.println(c.getName()); // pckg.BusinessObjectsFactory$$$view36
System.out.println(c.getInterfaces()[0].getName()); // BusinessObjectsFactory
BusinessObjectsFactory bof = (BusinessObjectsFactory) obj; //cast exception
Tutte le idee? Si noti che è necessaria l'interfaccia (quale implementazione viene cercato è leggere dal file di configurazione e il cambiamento potrebbe)
Soluzione
sono passato ad un'altra strategia di ricerca, mentre questo è problema non è più per me. Non sono sicuro se questo è ancora presente in versioni più recenti di JBoss / wildfly AS. È per questo che sto chiudendo questa domanda.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow