请各位帮个忙,先行谢过!
  后台:servlet 前台 c# (apache jboss)
如下:
  我想在杀掉session的时候将同一sessionID下未执行完的线程一起干掉
  现在情况是前台调了多个servlet,在某些servlet未执行完的情况下前台点击了logout(后台:杀session)
  这样的结果是未完的servlet会继续执行,这不是我们希望的。
  需求是:在session被干掉后,同一sessionID下的所有操作立刻无条件的停止。   拜求! 谢!

解决方案 »

  1.   

    第一个,感觉概念很乱呢,什么叫前台调用servlet,前台用C#?第二,你这么做的意义是什么呢?用户既然点击执行一个动作,那就应该认为他去执行了一个动作,为什么要杀他?第三,即使要杀,时点也没法控制呀。例如他做一个数据更新,在后台执行完commit之后,他logout了,你这时候杀谁也白扯呀。
    如果你还是觉得非要去杀什么,那你就把所有处理做成线程,定期检查sessionId是否有效,无效就停下来
      

  2.   


    我的意思是同一用户像后台顺序发送了几个请求request1,request2,request3,request4
    其中request4就干一件事情杀session,但是在request4执行的时候(123)并没有执行完,这就导致session被干死了前面的处理还在继续,明白?