2009-10-28 7 views
3

J'ai une interface graphique Flex qui utilise AMF Streaming vers BlazeDS sur WebLogic 9.2. Comme le streaming AMF utilise une interrogation longue, il maintient la connexion ouverte pendant de longues périodes.Expiration de la diffusion en différé

WebLogic a un délai maximal de 600 secondes. WebLogic renvoie une erreur et expire le thread s'il a été actif plus longtemps que le délai d'expiration. Cela provoque mon interface graphique à perdre sa connexion et se bloquer.

Je pourrais changer le réglage par défaut dans WebLogic (StruckThreadMaxTime) mais cela aurait évidemment un effet négatif sur les threads bloqués légitimement.

S'il vous plaît quelqu'un peut-il me dire quelles sont les autres options que j'ai pour résoudre ce problème?

Répondre

0

Une nouvelle API de délai d'inactivité a été ajoutée dans AIR2.0 pour faciliter le long interrogation. Vous pouvez essayer de chercher comment cela fonctionne et ré-implémenter ou configurer les minuteurs vous-même et essayer de tuer la connexion de l'extrémité flexible avant le délai (et ensuite immédiatement rétablir)

+0

ajoutant ainsi la logique de gestion de connexion au client? –

+0

Si le gestionnaire d'erreurs de la classe RPC n'est pas appelé pour que vous puissiez gérer la déconnexion, vous devrez probablement faire face à la situation avant qu'elle se produise, ce qui est assez désagréable, je l'admets. Confus il n'y a pas d'indication de la déconnexion sur le client, donc il peut être difficile avec. –