Jboss 5.1 mobicents http интервал ожидания ответа
Я использую HTTP-клиент Mobicents и получаю http-запросы методом GET. затем я приостанавливаю событие с помощью suspendDelivery() и выполняю свою работу. наконец я возобновляю событие с помощью resumeDelivery() и отправляю ответ http. это работает только менее чем за 10 секунд. когда моя работа превышает 10 секунд, jboss закрывает соединение без ответа. Я увеличиваю время соединения. но это не решено.
<!-- A HTTP/1.1 Connector on port 8080 -->
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
connectionTimeout="200000" redirectPort="8443" />
Есть ли другая конфигурация для увеличения интервала ожидания в jBoss 5.1?
1 ответ
Вероятно, вы превысили тайм-аут приостановки контекста события по умолчанию. В соответствии с документацией JAIN SLEE 1.1 FR API для suspendDelivery
:
Никакие дальнейшие SBB не получат событие, пока возобновление возобновления не будет вызвано для контекста события для того же события или пока не истечет системно-зависимое время ожидания по умолчанию, в зависимости от того, что наступит раньше.
(акцент мой)
JAIN SLEE 1.1 FR раздел 8.3.1 является более сложным событием, детализирующим, что обязательный таймаут является преднамеренной защитой:
В случае программной ошибки в SBB доставка события всегда приостанавливается на определенный период времени. Этот период времени может быть предоставлен SBB в качестве аргумента или, если он не указан, является платформой по умолчанию для конкретной платформы. SLEE автоматически возобновляет доставку события по истечении периода.
Системное значение по умолчанию составляет 10 секунд и контролируется defaultEventContextSuspensionTimeout
свойство config в $MOBICENTS_HOME/jboss-5.1.0.GA/server/default/deploy/mobicents-slee/META-INF/jboss-beans.xml
, Но я бы предложил явно указать срок для приостановки, который имеет смысл для конкретной службы, использующей suspendDelivery(int)
звоните вместо изменения по умолчанию.