Назовите метод в EJB на запуске JBoss [дубликат]

12
задан ewernli 8 June 2010 в 08:03
поделиться

3 ответа

Этого не было для EJB до версии 3.1. В EJB 3.1 вы можете использовать одноэлементный компонент для моделирования этого:

Из Обратные вызовы при запуске / завершении работы приложения :

   @Startup
   @Singleton
   public class FooBean {

       @PostConstruct 
       void atStartup() { ... }

       @PreDestroy
       void atShutdown() { ... }

   }

В противном случае вам придется полагаться на старый добрый трюк, чтобы использовать ServletContextInitializer .

Есть некоторые расширения для конкретных приложений, например слушатель жизненного цикла для Glassfish. Может быть, у JBoss есть такая штука.

Но на вашем месте я бы попытался максимально полагаться на стандартные функции. Проблема с нестандартным расширением заключается в том, что вы никогда не знаете точно, что можно сделать или нет, например можете ли вы начинать транзакцию или нет и т. д.

25
ответ дан 2 December 2019 в 04:16
поделиться

Управляемые компоненты могут использоваться для выполнения некоторых процессов при запуске JBoss, вам необходимо добавить запись об этом управляемом компоненте в файл конфигурации.

1
ответ дан 2 December 2019 в 04:16
поделиться

Вы должны иметь возможность добавить следующую строку в начало метода, который вы хотите запустить при запуске:

@Observer("org.jboss.seam.postInitialization")
1
ответ дан 2 December 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: