1

我正在使用 Mobicents http 客户端,并使用 GET 方法获取 http 请求。然后我使用 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 中是否有另一种配置可以增加超时间隔?

4

1 回答 1

0

您可能会遇到默认的事件上下文暂停超时。根据 JAIN SLEE 1.1 FR API 文档suspendDelivery

直到在同一事件的事件上下文上调用 resumeDelivery或达到与系统相关的默认超时(以先发生者为准)之前,没有其他 SBB 将接收该事件。

(强调我的)

JAIN SLEE 1.1 FR 第 8.3.1 节是更详细的事件,详细说明强制超时是一种故意的保护措施:

如果 SBB 中出现编程错误,事件传递只会暂停一段时间。SBB 可以提供此时间段作为参数,或者如果未提供,则它是特定于平台的默认值。时间段过后,SLEE 会自动恢复事件的传递。

defaultEventContextSuspensionTimeout系统默认为 10秒,由$MOBICENTS_HOME/jboss-5.1.0.GA/server/default/deploy/mobicents-slee/META-INF/jboss-beans.xml. suspendDelivery(int)但我建议明确指定对使用调用而不是更改默认值的特定服务有意义的暂停时间限制。

于 2015-12-07T13:10:29.577 回答