时间紧张,先记一笔,后续优化与完善。
1.新建一个帮助java类,例如
package com.ibm.banking.irmp.common; import java.io.Serializable; import javax.persistence.MappedSuperclass; import javax.persistence.Version; @MappedSuperclass public abstract class OptimisticLockSupportEntity implements Serializable { /** * */ private static final long serialVersionUID = 4575574127009076214L; public final static String CONFLICT_MESSAGE_ID = "COMMSW0005"; //自定义错误信息(当用户和另一个用户同时操纵时会报错,然而提供这个错误) private String updateUserCode;// 近来更新人 private long lockVersion; //乐观锁的版本号(当用户操纵时候就主动更新版本号(如1.2.3。。。)类已封装好了主动更新版本号,无需手动更新,直接用便可) @Version public long getLockVersion() { return lockVersion; } public void setLockVersion(long lockVersion) { this.lockVersion = lockVersion; } public String getUpdateUserCode() { return updateUserCode; } public void setUpdateUserCode(String updateUserCode) { this.updateUserCode = updateUserCode; } }
2.在对某张表操纵的时候,即在那个对应的实体类中继承上面的类便可(这张表中要添加几个字段:updateUserCode,lockVersion)
3.在action中,以前是怎么用的就还是怎么用,该调用方法的调用方法,不变
4.在jsp中,要隐藏域一个参数:版本号(lockVersion),无论用户怎么操纵(增编削查都必须提交版本号,这样系统会主动判断是否有人同时停止同一操纵,如果是同一操纵,后台action中会捕捉到异常,即OptimisticLockSupportEntity类中定义的,然后在页面中判断是否有异常,如果有异常则提示“该操纵已被锁定,请稍后刷新在试”)
文章结束给大家分享下程序员的一些笑话语录: 马云喜欢把自己包装成教主,张朝阳喜欢把自己包装成明星,李彦宏喜欢把自己包装成的很知性,丁磊喜欢把自己包装的有创意,李开复总摆出一副叫兽的样子。看来的。其实我想说,缺啥补啥,人之常情。
---------------------------------
原创文章 By
用户和版本号
---------------------------------