EJB業務方法命名規範
Basic:
· 業務介面名:BusinessName,樣本 Account
· EJB類名:BusinessNameBean,樣本 AccountBean
· EJB名:BusinessNameBean,樣本 AccountBean
Extended:
· 業務方法名盡量不要以ejb開頭。
· 如果是一個允許遠程調用的EJB,那麼所有的業務方法中的形參類型、傳回值類型都必須是可序列化的。
· 業務方法不應該使用static或final修飾。
Session Bean的功用
Session Bean從功能上大致分為兩類:
· 對於封裝底層的實體和JPA,用於訪問底層的實體,它們可成為EAO對象,本質上它們的功能就是DAO。
· 它們主要充當業務組件,它們是底層EAO對象的Facade,系統控制器(比如Struts的Action、JSF的託管Bean等)將調用他們的業務方法來處理使用者請求。
訊息驅動Bean(MDB)的基本要求
· MDB的Bean實作類別必須直接(通過聲明)或間接(通過Annotation或部署描述檔案)來實現訊息監聽介面。
· MDB類只能是一個使用public修飾的POJO,它不能是其它MDB類的子類。
· MDB類無須包含無參數的構造器。
· 由於EJB容器會操作EJB類,因此不要使用final或abstract修飾MDB的Bean實作類別。
· MDB類中不應該定義finalize()方法。如果開發人員需要在MDB中回收資源,則應該利用@PreDestroy修飾的方法進行回收。
訊息驅動Bean(MDB)的特徵
· 訊息驅動Bean不會保留任何用戶端狀態,訊息驅動Bean對所有用戶端都是等同的。
· 訊息驅動Bean可以處理來自多個用戶端的訊息。
關於業務介面(Business Interface)
· Session Bean和MDB都需要實現一個業務介面。
· 典型地,一個MDB的業務介面訊息監聽器類型,如javax.jms.MessageListener。
· 如果Bean類實現了一個單獨的介面,這個介面將被假定為業務介面。
· 一個業務介面預設為Local的介面。
· 同一個業務介面不能同時被標記為Local和Remote。(若要實現一個Session Bean既能被Local訪問,又能被Remote訪問,則需要實現兩個業務介面,一個Local的,一個Remote的。)