weixin_42300515 2009-03-05 20:19
浏览 313
已采纳

关于java的监听问题(不是servlet的监听):如何监听一个方法已经执行完成?

起因:项目用j2ee做,业务数据量很大,后台将查询出的数据拼成excel(此过程很耗时间),将excel打zip包传给前台。

用户执行了查询操作,但是这个操作要40分钟后才能执行完毕,并且用户不希望一直在页面前等待,而且有可能关闭浏览器,所以用户再次打开浏览器时无法知道上次操作是否完成,所以我想:

写一个监听类,来监听我 “查询方法” ,用户再次执行查询方法后,我的监听类会根据“后台将查询出的数据拼成excel(此过程很耗时间)”是否完成,来返回给用户一个说明信息,让用户大致知道自己执行操作的进度。

项目用的是struts1.2,本来我想在我的查询类里面添加一个公共静态变量,然后查询方法执行的结尾来改变这个静态变量的值,之后我有一个线程来监视这个变量,一旦这个变量的值改变,则说明我的查询方法执行结束了,可是对于struts1.2来说,当然,我很多高级功能都还不会用,struts1.2的页面每出发一个request请求到后台的action时好像就要 new Action ,也就是说,Action 里面的 查询 方法可能又被再一次执行了。

希望大家给个提示。
非常感谢。

  • 写回答

1条回答 默认 最新

  • iteye_4277 2009-03-06 13:17
    关注

    就算你new Action
    你的类静态变量也不会受其影响

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp