Pregunta

Me enfrento a un comportamiento extraño con JBoss como 7 y mi aplicación que usa EJB3.1. Busco con éxito el frijol, pero cuando intento lanzarlo a su interfaz, se lanza la excepción.

Código en resumen:

@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

¿Algunas ideas? Tenga en cuenta que se necesita interfaz (qué implementación se desea se lee desde el archivo de configuración y puede cambiar)

¿Fue útil?

Solución

Cambié a otra estrategia de búsqueda, mientras que esto ya no es un problema para mí. No estoy seguro de si esto todavía está presente en las versiones más nuevas de JBoss/Wildfly como. Por eso estoy cerrando esta pregunta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top