java - 异步使用 Struts 2

标签 java web struts2

我正在考虑使用 Struts 2 开发一个 Web 应用程序,但目前遇到一个问题。

我要开发的Web应用程序必须为用户提供执行长时间运行的命令的能力,例如大文件传输。如果用户注销,则命令(例如传输)必须继续在服务器中执行。当用户重新登录时,他必须查看命令的执行是如何处理的或者是否已经完成。

用struts可以实现这个功能吗?怎么办???

据我了解网络应用程序架构,用户在网络浏览器中执行的每个命令都会附加到 session 中,一旦他/她注销并且 session 终止,请求的每个操作都会被删除,对吗?

最佳答案

我在我的一个 struts2 项目中也有类似的需求。有多种情况,一旦用户锁定一个案例以供阅读,该案例在接下来的 5 分钟内只能由该用户编辑。即使他注销并重新登录,我也必须显示剩余时间计数器。我所做的是将数据库字段 caseLocked(timestamp) 添加到案例表中,当用户锁定该案例时 Quartz调度程序作业以 5 分钟的超时值启动,之后数据库字段将恢复为 null。

因此,在您的情况下,您可以将任务放入作业中,而不是设置固定的超时值,您可以定期进行轮询以检查任务的进度并让用户了解任务的状态

关于java - 异步使用 Struts 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20954596/

相关文章:

azure - 如何配置 Azure 警报以在 VM 中的 IIS 网站出现故障时通知我?

java - setter 和 getter 方法无法识别

java - 即使在 Struts 2.3.24 中添加 commons-lang3 库后也出现 NoClassDefFoundError

java - JSON 和 Struts2 结果为 null

java - 在 Eclipse 中,如何排除某些文件(可能基于 .svn 扩展名或文件名)被复制到输出文件夹?

java - 从 servlet 访问数据

java - Java GUI 中单选按钮的对齐方式

java - 安卓/Java : showDialog with arguments?

python - Flask:如何提供静态 html?

java - 使用远程源自动完成