Posted on 2010-01-07 18:20
landor 閱讀(843)
評論(0) 編輯 收藏 所屬分類:
ejb
java ee規范并沒有實現事務的隔離級別,所以要依靠不同的服務器廠商來實現,拿weblogic為例,具體的設置可以參考官方文檔
http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/ejb/DDreference-ejb-jar.html#1114966
ejb2的設置方式是在weblogic-ejb-jar.xml中設置,方式如下:
<transaction-isolation>
<isolation-level>TRANSACTION_SERIALIZABLE</isolation-level>
<method>
<description>test</description>
<ejb-name>Test</ejb-name>
<method-intf>Remote</method-intf>
<method-name>test</method-name>
<method-params>
<method-param>aaa</method-param>
</method-params>
</method>
</transaction-isolation>
說明:
isolation-level為事務的隔離級別,取值范圍為如下:
TransactionSerializable
TransactionReadCommitted
TransactionReadUncommitted
TransactionRepeatableRead
TransactionReadCommittedForUpdate
TransactionReadCommittedForUpdateNoWait
具體說明,可以看這里
http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/ejb/DDreference-ejb-jar.html#1219635
method-intf:取值可以是Home | Remote | Local | Localhome
其他的參數應該不用詳細說明了;
2 ejb3,很簡單:用weblogic所實現的注解
@weblogic.javaee.TransactionIsolation(IsolationLevel.READ_COMMITTED)
具體可以參見:
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/ejb30/annotations.html