Метод действия вызывается несколько раз в кластерной среде WebSphere - PullRequest
0 голосов
/ 10 сентября 2011

Мы работаем по странному сценарию. У нас есть командная ссылка / кнопка на нашей странице, и всякий раз, когда пользователь нажимает на нее, метод действия вызывается несколько раз. Это происходит только в кластерной среде.

Мы используем JSF 1.2 на веб-портале 6.2. Мы попытались установить enableHighCompatibility на true и вызвать facesContext.renderResponse() после того, как метод действия завершен, просто чтобы инфраструктура поняла, что действие выполнено, просим отобразить страницу.

Вышеприведенные 2 сделали максимум, чтобы вызвать один раз, но все же у нас есть несколько сценариев, которые многократно вызывают метод действия в компоненте поддержки.

1 Ответ

1 голос
/ 07 марта 2012

Если это происходит на Websphere Application Server 7 (WAS7), причиной может быть значение времени ожидания чтения / записи. В WAS7 включен новый параметр консоли администратора (который недоступен в WAS6) в

Серверы приложений -> # имя кластера # -> Свойства плагина веб-сервера -> Тайм-аут чтения / записи

По умолчанию это значение равно 60 секундам. Поэтому, если для завершения вашей транзакции требуется более 60 секунд, отправляется вторая форма.

Этого можно избежать, изменив значение тайм-аута на 0 секунд (0 означает бесконечный в WAS). Это гарантирует, что ваш метод действия вызывается только один раз.

...