Обновить данные в EJB без состояния
Существует ли функция, которая вызывается каждый раз, когда EJB ищется? Мне нужно обновить некоторые данные перед вызовом любого метода.
1 ответ:
Не уверен, что понимаю, что именно Вы имеете в виду. Во-первых, вам, вероятно, нужно различать безгосударственные и статусные EJBs.
Тем не менее, если вам нужно выполнить что-то перед вызовом метода, я предлагаю вам использовать перехватчик (используя
И EJB без гражданства хорошо, гражданства, и не должны содержать данных. Приложение. сервер может решить уничтожить или восстановить его в любое время. На самом деле вы не держите ссылку на конкретный экземпляр, который создается, когда он просматривается. Приложение. сервер поддерживает пул EJB, и один из них используется для каждого вызова.
Статусный EJB может содержать данные. Вы держите ссылку на один конкретный экземпляр,который создается при поиске Боба. Методы обратного вызова могут быть заданы с помощью
@PostConstruct
или@PreDestroy
(Эти обратные вызовы также существуют для ejbs без состояния, но имеют меньший смысл).@Interceptor
, работает для безгосударственных и статусных EJBs). Так же, как и с AOP, вы получаете шанс выполнить что-то до и после этого. после фактического выполнения метода bean, например, обновите кэш.