Phenix框架已支持分佈式時間戳,開發人員僅需在業務實體類中定義:
。。。
[Phenix.Core.DataMapperClass("PH_User", UseTimeStamp = true)]
public class User : BusinessBase<User>
{
。。。
}
即可自動實現分佈式樂觀鎖併發校驗機制。
當業務系統運行期提交數據的時候,Phenix框架會自動對(上述案例是"PH_User")表記錄上的時間戳進行校驗,一旦發現被改變,即拋出異常,業務開發人員可截獲此異常,提示用戶重新加載數據並編輯。
Phenix框架在缺省狀態下,是按照“後進有效”原則進行提交的。
分佈式時間戳做到了:
1,自動增加相關表的時間戳字段: UpdateTimeStamp VARCHAR(15);
2,支持批量提交和回滾;
3,校驗不成功,將拋出異常;
4,業務代碼僅寫一行代碼即可實現,且在這個代碼行上,更改DataMapperClassAttribute的屬性UseTimeStamp值,就能做到是否使用本功能的切換;