2013年9月13日 星期五

[筆記]Session Bean Life-cycle Annotations

Annotation可以用來在Session Bean的生命周期 (life-cycle) 中,定義那些方法會因應相關事件而被呼叫,相關的Annotations如下表:
Annotaion
Comments
@PostConstruct
  1. 在EJB實體被建立之後,而開始被使用之前
  2. 可以用來做一些初始化的工作
  3. EJB 3.1 spec建議使用此來做初始化,而不是用建構方法
@PreDestroy
  1. 在EJB實體被容器停止服務之前被呼叫
  2. 可以用來清除或釋放一些被EJB實體使用的資源
  3. 當EJB實例丟出系統錯誤 (system exception) 時、容器毀損,或當Stateful session bean狀態為非活化 (passivated) 中而發生過時 (timeout)時,有此annotation的方法將不會被呼叫
@PrePassivate
  1. 當Stateful session bean狀態將轉為非活化 (passivated) 之前被呼叫
  2. 可以讓活化時的EJB實例所使用的資源得以釋放,並對一些非序列化的參照物件做序列化 (serialization)的處理
@PostActivate

    1. 當Stateful session bean狀態將轉為活化 (passivated) 之前被呼叫
    2. 用以獲得一些需要使用到的資源
    3. 對所參照的物件做反序列化的設定

    ps. 翻得不好,請有需要的朋友還是參考原文或EJB spec。

    節錄自:http://www.slideshare.net/krizsan/ocp-jbcd-6-study-notes,p.253

    沒有留言: