Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Problema con 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()));
}

}

agosto 21, 2012 | Unregistered Commenterkaname

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.

agosto 22, 2012 | Registered Commenterantoniovl

hice algo parecido, pero seguia con el problema, parece que cierta configuracion en el netbeans provoca una mala compilacion. pero ya lo resolvi xD

agosto 23, 2012 | Unregistered Commenterkaname

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());
}
}

agosto 23, 2012 | Unregistered Commenterkaname

PD: los tengo en un proyecto-ejb.jar

agosto 23, 2012 | Unregistered Commenterkaname

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

noviembre 6, 2012 | Unregistered Commentermiercoles

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????

noviembre 10, 2012 | Unregistered Commenteryessica

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

noviembre 11, 2012 | Unregistered CommenterPedro

volví a c crear los ejb, y se arregló.

noviembre 11, 2012 | Unregistered Commenterkaname

kaname, estas haciendo el deploy desde netbeans?

noviembre 11, 2012 | Unregistered CommenterPedro

noviembre 11, 2012 | Unregistered Commenterkaname

Desde allí funciona bien, el problema que yo tengo es cuando voy hacer deploy desde la consola de administración de glassfish

noviembre 11, 2012 | Unregistered CommenterPedro