Где я не могу создать таймер службы таймера EJB3? - PullRequest
1 голос
/ 17 ноября 2011

В EJB3 Timer Service я могу создать таймер с помощью функции timerService.createTimer(...), но вопрос в том, где я могу его использовать?Как я знаю, я не могу сделать это в функции жизненного цикла Session Bean, например, @PostConstruct function.

Я также читал, что ее нельзя вызвать в Stateful session bean?Есть ли еще что-то, на что я должен обратить внимание при создании таймера?

1 Ответ

1 голос
/ 17 ноября 2011

Полагаю, самое важное, о чем нужно знать, это то, что таймеры являются транзакционными объектами; это означает, что если вы создадите таймер в транзакции, которая будет откатываться, создание таймера также будет откатано. Это также подразумевает, что они должны вызываться в контексте транзакции, а в @PostConstruct.

их нет.

О, и, как вы знаете, вам нужен TimerService для создания таймера, поэтому вы обычно будете использовать его в управляемых классах, чтобы вы могли внедрить его.

...