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) звоните вместо изменения по умолчанию.

Другие вопросы по тегам