JBoss As 7, EJB3 Cast para interfaz
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)
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