应用程序服务器中的多个线程可以修改请求范围的组件吗?

时间:2016-04-28 19:13:39

标签: java multithreading httprequest application-server atg

我有一个在jboss上作为App Server运行的ATG应用程序。请求范围的组件(bean)说CartManager有一个方法addToBag(...)。

由于它有请求范围,我的理解是它在每个请求上实例化,而App Server保证只有一个线程可以访问该实例。

我们遇到了并发问题,所以我只想排除一种可能的解释。

1 个答案:

答案 0 :(得分:0)

用户双击按钮可能会遇到问题(Add To Bag按钮很常见)。在ATG中有一种方法可以解决这个问题,它被称为RepeatingRequestMonitor

本质上,它会跟踪执行当前处理程序的请求,并阻止或允许对同一处理程序的后续请求。

在购物车流程中,它已在PurchaseProcessFormHandler中实现,因此如果您扩展此特定FormHandler,则可以使用其访问器方法。