我有一个Flex GUI,它在WebLogic 9.2上使用AMF Streaming到BlazeDS。由于AMF Streaming使用长轮询,因此可以使连接长时间保持打开状态。
WebLogic的最大线程超时为600秒。如果线程的活动时间超过超时,则WebLogic会抛出错误并超时。这会导致我的GUI失去连接并挂起。
我可以更改WebLogic中的默认设置(StruckThreadMaxTime),但这显然会对合法卡住的线程产生负面影响。
请有人告诉我还有什么其他方法可以解决这个问题吗?
答案 0 :(得分:2)
也许您可以使用Consumer.channelDisconnect事件然后重新连接?
答案 1 :(得分:0)
在AIR2.0中添加了一个新的空闲超时API,以帮助处理长轮询。你可以试着找出它是如何工作的,然后自己重新实现或设置定时器,并尝试在超时前从flex端断开连接(然后立即重新建立)