不懂
user1和user2都是系统管理员吗?

解决方案 »

  1.   


    如果这样的话,user2输入的数据很可能就没有了,如果我列出一个对比内容表,感觉工作量比较大。。
    就想知道有没有什么成熟的解决方案,我用struts开发的。
      

  2.   

    最简单的基于Java的悲观锁就是在方法里使用一个全局的同步锁private static Object lock = new Object();
    public void update(....){
      synchronized(lock){
        .... // 你的业务代码
      }
    }此方法保证了此容器内的java程序可以只有一个并发访问。但要求
    1 系统只有一个容器,如果是集群则没戏了
    2 必须保证其它方法没有修改你的数据,否则他们也要使用这个同步锁
      

  3.   

    方法1:
     制作一个管理表单的类,在这个理中判断是否有人在读取文件,如果有人读取,那么就禁止修改表单,相反则可以修改;
    方法2:
     用户1修改之后,把最初的版本和修改后版本按照日起顺序都保存起来,用户2读取表单时先得到表单的修改日期.
     如果用户2修改表单,保存之前检测是否有比自己原始数据更新的表单数据,如果有就提示对比修改结果,没有就直接保存.
     这种方法跟CVS和wiki的版本管理差不多。