我做了个系统,里面有审批流程,我想一个客户端审批一条记录后,这条记录就在别的客户端消失,以防重复审批,请问用jms怎么做,请给个思路,有具体例子或代码更好.我用的是jsp+javabean做的,没用ssh

解决方案 »

  1.   

    在数据库中设个字段来标示不行吗?当审批之后这个标示变成false也就是不显示。
      

  2.   

    不是这样的,我已经设了标志了,就是要作到同步,当两个客户端同时打开审批,假如有两条记录要审批,开始两个人都看到的是两条,设为a,b两条,当甲审批了a后,a在甲的页面上是消失了,这时乙没做任何操作,此时a记录还是留在乙开始打开的页面上,然后乙也审批a记录,这样就导致了a记录的重复审批了.请问怎么解决这个问题?
      

  3.   

    workflow  问题状态机 + 数据库 + 权限
      

  4.   

    JEE 实现方案1,建一个 Message queue.产生记录的源,作为一个producer 往queue里面写 记录..客户作为MDB 实现MessageListener接口 
      

  5.   

    你这是工作流的问题和JMS没关系你要在数据库中增加一个字段,有人处理了工作流,就标记为1
    其他人如果再想处理这个时先检查这个字段,如果为1就不能处理了
      

  6.   

    用 jms queue 方式不会出现 你这种情况, 好像也不适合你的 情况 . 
    要解决你的问题 ,有两个方法: 
    1, 让乙审批a失败, 并更新列表.
    2, 当甲审批成功a后,,主动提醒所有客户端,或者客户端,监听状态记录状态.observer/notification. 客户端实时更新状态
      

  7.   

    web的客户端 可以用异步的方式, 随时check server 端的状态 AJAX DWR 能做