我使用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中的超时间隔?
答案 0 :(得分:0)
您可能会遇到默认事件上下文暂停超时。根据{{1}}的JAIN SLEE 1.1 FR API文档:
在相同事件的事件上下文或达到系统相关的默认超时(以先发生者为准)上调用resumeDelivery之前,没有其他SBB会收到该事件。
(强调我的)
JAIN SLEE 1.1 FR第8.3.1节更详细,详细说明强制性超时是故意保护措施:
如果SBB中出现编程错误,则事件传递仅暂停一段时间。这个 时间段可以由SBB作为参数提供,或者如果没有提供,则它是特定于平台的默认值。 经过一段时间后,SLEE会自动恢复事件的传递。
系统默认值为10秒,由suspendDelivery
中的defaultEventContextSuspensionTimeout
配置属性控制。但我建议使用$MOBICENTS_HOME/jboss-5.1.0.GA/server/default/deploy/mobicents-slee/META-INF/jboss-beans.xml
调用明确指定对特定服务有意义的暂停时间限制,而不是更改默认值。