Приложение Java EE Enterprise: выполните некоторые действия по развертыванию / запуску
Я хотел бы выполнить некоторые действия, как только мое приложение (Enterprise Application with Business Logic, EJB и Client, Web) будет развернуто. Например, я хотел бы сделать какой-то объект в постоянном состоянии или иным образом создать файл. Как я могу это сделать?
Благодарю.
- Как установить регистр переменной для сохранения между играми в недоступном?
- Ошибка при развертывании артефакта в Nexus
- Приложение .NET не может запускать и получать XamlParseException
- Лучшие практики ILMerge
- Как найти полное имя сборки?
- System.IO.FileNotFoundException: не удалось загрузить файл или сборку «X» или одну из ее зависимостей при развертывании приложения
- XamlParseException после развертывания проекта WPF
- Запуск приложения на основе .net без .NET Framework
- Каков наилучший способ использования веб-сервиса из VB6?
- Как изменить цвет фона в меню параметров?
- Существует ли компилятор R?
- Объединить msi и exe
- Какой метод вы используете для развертывания приложений ASP.Net в дикой природе?
Настроить SerlvetContextListener
и переопределить contextInitilized()
в описании веб-приложения, web.xml
com.someCompany.AppNameServletContextListener
package com.someCompany; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class AppNameServletContextListener implements ServletContextListener{ @Override public void contextDestroyed(ServletContextEvent arg0) { System.out.println("ServletContextListener destroyed"); } @Override public void contextInitialized(ServletContextEvent arg0) { System.out.println("ServletContextListener started"); // do the things here } }
«По умолчанию» – это иметь сервлет с методом init (). Затем в дескрипторе сервлета вы отмечаете этот сервлет как загрузку при запуске 1:
Пример:
Seam Resource Servlet org.jboss.seam.servlet.SeamResourceServlet 1
Как только сервлет развертывается (что происходит после развертывания EJB), вызывается этот метод init (), и вы можете выполнить нужную задачу.
При использовании настоящего веб-приложения в ухе самым простым и простым было бы использовать ServletContextListener, иначе в EJB 3.1 вы могли бы использовать автоматические таймеры или статические однопользовательские сеансовые компоненты.