У меня есть приложение, основанное на flex client и blazeds на стороне сервера. Сценарий: 1. Клиент совершает удаленный вызов по каналу secure-amf. 2. Сервер занимает некоторое время, обрабатывая запрос, как правило, более 60 секунд.Время ожидания Flex BlazeDS на стороне сервера через 60 секунд
Когда код на стороне сервера пытается записать обратно в трубу, по которой выполняется соединение. он сообщает об ошибке обрыва трубы.
Я нашел несколько запросов по этой теме без какого-либо убедительного решения.
журнала ошибок на стороне Servier: [BlazeDS] java.io.IOException: Broken труба Ошибка записи: Broken труба
Вот мой serives-config.xml фрагмент кода.
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
Спасибо за направление, спас меня когда-нибудь. Мне удалось заставить его работать, как ожидалось, без проблем с трубами. Но, похоже, сейчас есть какая-то другая проблема. Я внес изменения в последнюю версию tomcat 8, используя параметр connectTimeout, который, похоже, не работал. Но когда я переместил/развернул мое приложение на предыдущей версии tomcat tomcat-7.0.27, он, похоже, работал нормально. – Manu
Наконец-то я нашел реальную основную причину проблемы. Таймаут был вызван значением socket_timeout со значением по умолчанию 60 секунд. Увеличение этого значения соответствующим образом устраняет проблему на tomcat 8, а также tomcat 7. https://tomcat.apache.org/connectors-doc-archive/jk2/jk/workershowto.html – Manu