完全楼上的,让它处理完以后发一条消息,消息驱动bean接受消息,然乎进行进一步的处理.比较简单,容易上手

解决方案 »

  1.   

    我是想这样,用一个sfsb来接收用户的请求,然后调用一个slsb来执行这个操作,完成后用消息bean来通知sfsb完成,不知道这样行不行?
      

  2.   

    但是不管你是有状态还是无状态都是同步操作呀,用一个同步操作得对象来操作长时间业务不行吧,再说让一个session Bean长时间为一个客户工作,可能导致服务器中得bean严重不够吧
      

  3.   

    不过我觉得,既然这个操作要运行很久,必然会一直占住系统资源,那么一直保存住一个session Bean长时间为一个客户工作也是可以的,毕竟不能这种操作不能同时进行很多,因此这样的bean仅仅只有一些,不知道我这样考虑对不对?
      

  4.   

    但是假如你用session bean执行一个长时间地操作一个同步操作,怎么能够让客户去等待这么久
      

  5.   

    处理完成后的消息反馈应该是用MDB来完成,但实际的处理过程中由于可能出现长时间的处理过程,所以一直使用有状态的会话Bean来处理不是很妥当的,为了维护状态,服务器端,会消耗很大的资源。
    可以考虑用类似weblogic中的Timer Service,也就是说根据服务器的资源占用的情况,对所要处理的任务进行时间片处理,用有状态的会话Bean作为载体,分时间段来完成,每次处理的状态的数据,进行序列化,或是保存到数据库中,整个过程很想操作系统的对进程的调度!
    在weblogic的workshop中要实现Timer Service是很简单的,完全是一队控件编程的过程!^_^
      

  6.   

    用MDB,如果请求过多让它们在MessageQueue中排队等就行了,设定一个最多同时处理的消息数量。客户端可以订阅jms消息,服务器处理完了直接发消息给客户端,这样整个系统都是异步运行的
      

  7.   

    如果用weblogic中的Timer Service的话那不是只能依赖一种应用服务器,不能使用其他应用服务器了?
      

  8.   

    很简单的,在放在一个框架中,提交其中一个框架的文件同时在令一个框架中播放一段FLASH,等提交结束后,再将FLASH的display='none' 就ok了
      

  9.   

    请问一下MDB是什么?
    如果我执行完这个操作后需要将结果和相应的调用该操作的信息放入数据库中,不用sfb我如何保持用户信息?