Я работаю в крупном корпоративном ИТ-магазине, и мы запускаем наши Java-приложения на сервере приложений WebSphere.
Мы наблюдали поведение, которое я хочу положить в конец: если истекает время ожидания потока - особенно при выполнении вызова RMI - сервер приложений, кажется, возрождает поток и отправляет его снова, по крайней мере один раз, если нет многократно. Такое поведение трудно воспроизвести, но мы смогли наблюдать его в производственных журналах запросов, которые повторяются точно с 60-секундными интервалами (что соответствует нашим настройкам тайм-аута).
Мое исследование выявило только один возможный параметр для настройки, который может положить конец этому поведению: - com.ibm.websphere.webservices.http.requestResendEnabled
Это строго контролируемый магазин, поэтому я не хочу регулировать этот параметр, не будучи вполне уверенным, что он будет иметь желаемый эффект.
Кто-нибудь еще наблюдал такое поведение, и можно ли это исправить?
Спасибо Майк
Мы связались со службой поддержки IBM, и они не смогли ответить на этот вопрос.
Проведя дополнительное исследование документации IBM, мы поняли, что это вызвано подключаемым модулем HTTP, для которого при переходе на WebSphere 7 был добавлен параметр по умолчанию: PostBufferSize.
Такое поведение (повторная отправка потоков) потенциально очень опасно для приложений ввода данных и может быть отключено установкой PostBufferSize = 0.
Обратитесь к этой статье для получения дополнительной информации непосредственно от IBM: http://www-01.ibm.com/support/docview.wss?uid=swg21450051