Question

J'ai WebProject sur Java EE 5 et WebSphere 7.0 J'ai besoin de créer un planificateur et de le démarrer après le déploiement de l'application. Ce que j'ai essayé: je crée EJB avec l'interface:

@Local
public interface ISchedulerBean {

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

Le bean de session sans état implémente cette interface. Méthode CreateTimer crée une instance de minuterie à partir de timerservice. Cette partie du code fonctionne bien. J'ai également besoin d'appeler la méthode CreateTimer () après le déploiement de l'application. J'ai essayé:

  1. Ajouter l'écouteur servletContext:

    Classe publique ScheduleRerinitialiSerConTextListener implémente servletContextListener {// Service pour rechercher EJB privé webServicelocator webServiceLocator; Private Schedulerservice Schedulerservice;

    Public ScheduleInitialiSerConTextListener () {WebServiceLocator = new WebServiceLocator (); schedulerservice = WebServiceLocator.getschedulerservice (); }

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

    }

  2. Créez un servlet avec 1 où injecter ScheduleRean dans la méthode init () et appeler Createtetimer.

Mais cela ne fonctionne pas, car à première vue de l'application Web de déploiement de WebSpere, d'appels, d'initialise les servlets et de déploier EJB.jar dans lequel tous les EJB sont situés. Je peux le voir dans le fichier journal WebShpere. Donc, quand j'essaie d'obtenir un lancer EJB @ejb Annotation ou une recherche, je reçois une exception, car EJB n'a pas été trouvé. Peut-être que l'autre approche pour démarrer le temporisateur après déploiement du module EJB ou modifier la commande de déploiement?

Était-ce utile?

La solution

Vous pouvez définir l'ordre de démarrage de vos modules.

En supposant que vous vous développez avec un développeur d'applications rationnelles, faites ce qui suit:

Cliquez avec le bouton droit sur votre projet d'oreille et cliquez sur Java EE -> Ouvrir le déploiement de serveur d'applications WebSphere.

Recherchez la section d'application, vous verrez tous les modules et vous pouvez définir le Start weight pour chacun.

Assurez-vous que votre projet Web contenant l'auditeur de contexte a la valeur la plus importante et vous devez bien être bien.

  • Cette opération crée un répertoire IBMConfig dans le cadre du méta-infr
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top