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)

È stato utile?

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
scroll top