Этого не было для EJB до версии 3.1. В EJB 3.1 вы можете использовать одноэлементный компонент для моделирования этого:
Из Обратные вызовы при запуске / завершении работы приложения :
@Startup
@Singleton
public class FooBean {
@PostConstruct
void atStartup() { ... }
@PreDestroy
void atShutdown() { ... }
}
В противном случае вам придется полагаться на старый добрый трюк, чтобы использовать ServletContextInitializer
.
Есть некоторые расширения для конкретных приложений, например слушатель жизненного цикла для Glassfish. Может быть, у JBoss есть такая штука.
Но на вашем месте я бы попытался максимально полагаться на стандартные функции. Проблема с нестандартным расширением заключается в том, что вы никогда не знаете точно, что можно сделать или нет, например можете ли вы начинать транзакцию или нет и т. д.
Управляемые компоненты могут использоваться для выполнения некоторых процессов при запуске JBoss, вам необходимо добавить запись об этом управляемом компоненте в файл конфигурации.
Вы должны иметь возможность добавить следующую строку в начало метода, который вы хотите запустить при запуске:
@Observer("org.jboss.seam.postInitialization")