EJB的編程規(guī)則之Session Bean
Session Bean被用于這實現(xiàn)含有特定商業(yè)邏輯的商業(yè)對象,不能直接表現(xiàn)DB中的共享資料,Session對象的狀態(tài)是非持久的存儲的,不不需寫到DB中。Session Bean實現(xiàn)Bean的商業(yè)邏輯,而遠程訪問安全并行和事務(wù)等恥Bean容器提供。
編寫EJB的規(guī)則:
1.編寫EntERPrise Bean:
1).可能有一個或多個ejbCreate方法。
2).訪問控制修飾符必須為public ,不能為static
3).參數(shù)是JavaRMI的合法類型,且修飾符不能為static 或void.
4).throws 子句可包括CreateException和應(yīng)用程序的其他異常。
5).方法不能與EJB結(jié)構(gòu)定義的相沖突。
2.Home接口:定義客戶機可調(diào)用的Create上便客戶機實例化所需的對象EJB。
1).Create方法的參數(shù)和返回類型必是RMI類型。
2).Create方法返回Remote接口類型(但ejbCreate方法返回void).
3).Create方法的throw子句必包括remoteException,CreateException.
3.Remote接口:定義客戶機可以調(diào)用的商業(yè)方法。
1).遠程接口中的方法必與Enterprisre Bean類中的實現(xiàn)的方法匹配。
2).Remote接口中的方法必與Enterprise Bean類中的實現(xiàn)方法相同。
3).參數(shù)和返回類型必是有效的RMI類型。
4).throws子句必包括java.rmi.remoteException.
在statful和stateless Session Bean中做選擇。
1.stateul被設(shè)計用來維護代表客戶機狀態(tài),表現(xiàn)非持久存儲的對象。表現(xiàn)商業(yè)對象間的工作流。
一般用于以下例情況:
1)維護特定的存儲商業(yè)對象。
2)表現(xiàn)非持久存儲的對象。
3)表現(xiàn)商業(yè)對象間的工作流。
2.stateless被設(shè)計用來提供服務(wù)器端的行為,不含特定用戶資料。一般用于下例情況:
1)建??芍赜玫姆?wù)對象。
2)提供高性能
3)一次操作多條記錄。
4)提供DATE程序觀點。
【編輯推薦】