views:

189

answers:

2

I have a Flex GUI which is using AMF Streaming to BlazeDS on WebLogic 9.2. As the AMF Streaming uses long polling, it keeps the connection open for extended periods of time.

WebLogic has a max thread timeout of 600 seconds. WebLogic throws an error and times out the thread if it has been alive for longer than the timeout. This causes my GUI to lose its connection and hang.

I could change the default setting in WebLogic (StruckThreadMaxTime) but this would obviously negatively effect legitimately stuck threads.

Please can anyone tell me what other options I have to fix this problem?

A: 

There is a new idle timeout API been added in AIR2.0 to help deal with long polling. You could try hunt down how it works and re-implement or setup timers yourself and try kill the connection from the flex end before the timeout (and then immediately re-estabilsh)

Gregor Kiddie
so adding connection handling logic to the client?
Mark Sailes
if the fault handler of the RPC class isn't being called so you can handle the disconnect, you'll probably have to deal with the situation before it arises, which is pretty nasty I'll admit.Confused there isn't some indication of the disconnect on the client so it can be dealth with though.
Gregor Kiddie
+2  A: 

Perhaps you can use the Consumer.channelDisconnect event and then reconnect?

James Ward