Планировщик запуска после завершения развертывания

StackOverflow https://stackoverflow.com/questions/8892240

Вопрос

У меня есть веб-проект на Java EE 5 и Websphere 7.0 Мне нужно создать планировщик и запустить его после развертывания приложения. Что я пробовал: Я создаю EJB с интерфейсом:

общий

Сессионный компонент без сохранения состояния реализует этот интерфейс. Метод createTimer создает экземпляр таймера из TimerService. Эта часть кода работает нормально. Также мне нужно вызвать метод createTimer () после развертывания приложения. Я пробовал:

  1. Добавить слушатель servletContext:

    открытый класс SchedulerInitialiserContextListener реализует ServletContextListener { // сервис для поиска ejb частный WebServiceLocator webServiceLocator; private SchedulerService schedulerService;

    public SchedulerInitialiserContextListener () { webServiceLocator= новый WebServiceLocator (); schedulerService= webServiceLocator.getSchedulerService (); }

    общий

    }

  2. создать сервлет с 1, где вставить SchedulerBean в метод init () и вызвать createTimer.

Но это не работает, потому что сначала мы развертываем веб-приложение, вызываем слушателей, инициализируем сервлеты и только потом развертываем ejb.jar, в котором находятся все ejb. Я вижу это в лог-файле webshpere. Поэтому, когда я пытаюсь получить аннотацию или поиск ejb throw @EJB, я получаю исключение, потому что ejb не найден. Может быть, есть другой подход к запуску таймера после развертывания модуля ejb или изменения порядка развертывания?

Это было полезно?

Решение

Вы можете установить порядок запуска ваших модулей.

Предполагая, что вы разрабатываете с помощью Rational Application Developer, сделайте следующее:

Щелкните правой кнопкой мыши свой ушной проект и выберите Java EE -> Open WebSphere Application Server Deployment.

Найдите раздел "Приложение", вы увидите все модули, и вы можете установить для каждого из них общий кодовый код.

Убедитесь, что ваш веб-проект, содержащий прослушиватель контекста, имеет наибольшее значение, и все должно быть в порядке.

  • Эта операция создает каталог ibmconfig под META-INF вашего ушного проекта, убедитесь, что вы упаковали его в процесс сборки.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top