Frage

Ich bin mit JBoss als 7 und meiner Anwendung, die EJB3.1 verwendet, mit seltsamem Verhalten konfrontiert. Ich suche erfolgreich Bohnen, aber wenn ich versuche, sie an ihre Schnittstelle zu werfen, wird die Ausnahme ausgelöst.

Kurz gesagt: Kurz gesagt:

@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

Irgendwelche Ideen? Beachten Sie, dass die Schnittstelle erforderlich ist (welche Implementierung nachgeschlagen wird, wird aus der Konfigurationsdatei gelesen und kann sich ändern)

War es hilfreich?

Lösung

Ich habe zu einer anderen Lookup -Strategie gewechselt, während dies für mich kein Problem mehr ist. Ich bin mir nicht sicher, ob dies in den neuesten Versionen von JBoss/WildFly AS noch vorhanden ist. Deshalb schließe ich diese Frage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top