我正在开发一个JSF 1.2项目,该项目的页面上具有AJAX功能(使用RichFaces)。
我的bean建立了一个要编辑的对象的列表,然后具有支持编辑的方法,并且bean是 session 作用域的。我将使用a4j:queue,以便一次只能进行一个AJAX调用。
我很好奇在托管bean中使用同步(对象上的锁,或者来自java.util.concurrent的集合)是否明智。确实需要执行同步/线程安全性所需的额外工作吗?我正在工作的站点有许多用户,需要可靠,但是它有很多托管Bean,我很好奇我应该对整体托管Bean的线程安全性有多关注。
您是否在支持bean的线程安全方面采取了其他措施?
提前致谢。
最佳答案
a4j:queue不会阻止用户在进行AJAX调用时重新加载页面/单击另一个链接。
是的,我们可以相信用户不要紧接着单击许多不同的链接,但是不是由用户触发的请求(例如由a4j:poll触发)呢?
请注意,用其线程安全等效项替换所有集合可能不足以使您的应用程序线程安全。
就是说,根据您的应用程序需要满足的可靠性程度,此问题可能或可能不会引起您的注意。
关于multithreading - 我们应该如何关注JSF托管bean的线程安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649792/