Pregunta

He webproject en Java EE 5 y Websphere 7.0 Necesito crear el programador y se inician después de implementar la aplicación.Lo que he intentado:Creo EJB con la interfaz:

@Local
public interface ISchedulerBean {

    public void executeTimer(Timer timer);
    public void createTimer();
}

bean de sesión sin estado implementa esta interfaz.Método createTimer crea la instancia de timer de TimerService.Esta parte de código que funcione bien.También tengo que llamar a método createTimer() después de la aplicación a implementar.He intentado:

  1. Añadir un detector servletContext:

    clase pública SchedulerInitialiserContextListener implementa ServletContextListener { //servicio de búsqueda ejb privado WebServiceLocator webServiceLocator;privado SchedulerService schedulerService;

    público SchedulerInitialiserContextListener() { webServiceLocator = new WebServiceLocator();schedulerService = webServiceLocator.getSchedulerService();}

    public void contextDestroyed(ServletContextEvent ctx) {
    }
    
    public void contextInitialized(ServletContextEvent ctx) {
        schedulerService.createTimer();
    }
    

    }

  2. crear un Servlet con 1 donde inyectar SchedulerBean en el método init() y llame a createTimer.

Pero esto no funciona, porque en la primera webspere implementar la aplicación web, llame a los oyentes, inicializar los servlets, y sólo entonces implementar ejb.jar en la que todos los ejb se encuentran.Puedo ver que en webshpere archivo de registro.Así que cuando me trate de obtener ejb tirar @EJB anotación o de búsqueda llego Excepción, porque ejb no se ha encontrado.Puede ser otro método para iniciar el temporizador después de implementar el módulo ejb o cambiar implementar pedido?

¿Fue útil?

Solución

Puede establecer el orden de inicio de los módulos.

Suponiendo que se desarrollan con el Rational Application Developer hacer lo siguiente:

Haga clic derecho con el oído proyecto y haga clic en Java EE -> Abrir WebSphere Application Server de Implementación.

Busque la sección de Aplicación, podrás ver todos los módulos y se puede establecer la Start weight para cada uno de ellos.

Asegúrese de que su proyecto web que contiene el Contexto de Escucha tiene el valor más grande de una que debe estar bien.

  • Esta operación crea un ibmconfig directorio bajo la oreja del proyecto META-INF, asegúrese de que el paquete en su proceso de construcción
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top