Foro sobre Java EE > Problema con glassfish
A partir de JavaEE6 es posible contener EJB Session Beans en el archivo war de la aplicación. Lo que se me ocurre es que verifiques si así lo tienes, y en su caso que los muevas al subprojecto -ejb.jar.
hice algo parecido, pero seguia con el problema, parece que cierta configuracion en el netbeans provoca una mala compilacion. pero ya lo resolvi xD
Antonio Volvio el problema, lo mismo que mi bean de mi ejb es invalido. mi codigo es el siguiente:
@Stateless
@Remote(EchoRemote.class)
public class Echo implements EchoRemote {
@Resource
private UserTransaction utx;
@PersistenceContext(unitName = "SIAD-ejbPU")
private EntityManager em;
@Override
@Schedule(hour = "*", minute = "*/1", second = "*/30")
public void logMethod() {
System.out.println("LogMessage() methd invoked at: " + new Date(System.currentTimeMillis()));
EmpleadoJpaController e=new EmpleadoJpaController(utx, em.getEntityManagerFactory());
System.out.println("e:"+e.getEmpleadoCount());
}
}
PD: los tengo en un proyecto-ejb.jar
Lo que pasa es que glassfish no te esta reconociendo las anotaciones ejb por lo que no las procesa, entonces no encuentra ninguno , te esta pidiendo que el archivo ejb.jar tenga las definiciones de los beans al no procesar las anotaciones, pone una definicion y vas a ver que te anda. y setea el server para que las reconozca
buenas noches tengo el mismo problema pero como hago esto: pone una definicion y vas a ver que te anda. y setea el server para que las reconozca????
tengo el mismo problema, pero solo da el error cuando intento desplegar la aplicación desde la pagina de administracion de glassfish, cuando se le hace deploy desde netbeans funciona perfecto
volví a c crear los ejb, y se arregló.
kaname, estas haciendo el deploy desde netbeans?
sí
Desde allí funciona bien, el problema que yo tengo es cuando voy hacer deploy desde la consola de administración de glassfish
Buenas:
no se si a alguien le ocurre lo mismo cuando desplega un J2EE Project en glassfish.
deploy?DEFAULT=C:\Users\Administrador\Documents\NetBeansProjects\XXXX\dist\gfdeploy\XXXX&name=XXXX&force=true failed on GlassFish Server 3.1.2
Error durante la implementación: Excepción al implementar la aplicación [XXXX] : ejb jar no válido [XXXX]: no contiene ningún ejb.
Nota:
1. Un ejb jar válido requiere, al menos, un bean dirigido por la sesión, la entidad (del tipo 1.x/2.x) o el mensaje2. Los beans de entidad EJB3+ (@Entity) son POJO. Deberán empaquetarse como jar de bibliotecas.
3. Si el archivo jar contiene EJB válidos con anotaciones de nivel de componente EJB (@Stateless, @Stateful, @MessageDriven, @Singleton), revise el archivo server.log para comprobar si las anotaciones se han procesado correctamente.. Consulte /server.log para obtener más información.
y tengo el ejb que es uno de tipo timer:
@Stateless
public class PruebaSessionBean implements PruebaSessionBeanRemote {
@Override
@Schedule(hour = "*", minute = "*", second = "*/30")
public void logMethod() {
System.out.println("LogMessage() methd invoked at: " + new Date(System.currentTimeMillis()));
}
}