java - 线程 Tapestry 5.3.8 与 5.4.3

标签 java ajax tapestry

我在 Tapestry 中遇到了线程问题。

我有使用 Tapestry 的应用程序。当我从 5.3.8 更新到 5.4.3 时,我发现我的 ajax 请求没有在单独的线程中处理。

例如:我有一个在 Controller /类中执行的长进程。不过,我还有一个 JS 脚本,可以为组件生成 ajax 请求。在 Tapestry 5.3.8 中,这些请求得到了正常处理。当我切换到 5.4.3 时,我的请求未得到处理,直到 Controller 的主进程结束。

有人知道有关此行为的信息吗?

最佳答案

在 Tapestry JIRA 中进行一些挖掘后,我找到了答案:

Link 1

Link 2

简单总结一下:从Tapestry 5.4开始,Session对象是同步的,甚至读操作也需要写锁。因此,所有“长”操作都应该在单独的线程中运行,以使 ajax 调用正常工作(以免 GUI 线程卡住)。

编辑:在邮件列表中,我还得到了使用配置参数tapestry.session-locking-enabled

的提示

关于java - 线程 Tapestry 5.3.8 与 5.4.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45352633/

相关文章:

java - 我需要标准化位图并将其存储在 TensorImage 中。有什么办法可以做到这一点吗?

javascript - 每个函数一个随机数还是所有 AJAX 调用一个?

java - 如何在自定义 Tapestry 5 组件中使用 jQuery

eclipse-plugin - 用于 TML 页面的 Tapestry5JSPEditorEclipse

java - 如何在基于 Maven 的 Java War 项目中设置 Angular 4

java - 将参数传递给 Java 线程

java - CardView 位于 Recycler View 上方,滚动为一个

jquery - asp.net 4 jQuery Ajax 无法在 iis 中使用页面方法

javascript - 原型(prototype)中有 2 个相同的(函数、类)名称 "Ajax"

tomcat - Tapestry + JaxB 冲突