我们正在运行一个奇怪的场景。我们的页面上有一个commandlink /按钮,每当用户点击它时,就会多次调用action方法。这只发生在集群环境中。
我们在Websphere门户6.2上使用JSF 1.2。我们尝试将enableHighCompatibility
设置为true
并在操作方法完成后调用facesContext.renderResponse()
,只是为了让框架了解操作已完成,请呈现页面。
上面的2已经调用了一次,但是我们仍然有一些场景在调用bean中多次调用action方法。
答案 0 :(得分:1)
如果在Websphere
Application Server 7(WAS7)中发生这种情况,原因可能是您的读/写超时值。 WAS7在
应用程序服务器 - > #cluster name# - > Web服务器插件属性 - >读/写超时
此值默认为60秒。因此,如果您的事务需要超过60秒才能完成,则会触发第二个表单提交。
可以通过将超时值更改为0秒(0表示WAS中的无限值)来避免这种情况。这将确保您的操作方法只被调用一次。