2009-02-23 3 views
0

J'ai deux instances d'Oracle Application Server (OAS) regroupées et des sessions de réplication. Chaque fois que je mets fin à l'une des instances en supprimant le processus, l'autre instance décroche et contient la session. Tout fonctionne comme prévu. Si j'arrête gracieusement une instance (à l'aide d'opmn stopall) de OAS, les événements HttpSessionDestroyedEvent sont déclenchés et les informations sont supprimées, ce qui empêche l'application de basculer correctement. C'est ma première expérience avec un environnement en cluster et je suis curieux de savoir si cela est commun. Je sais et je m'attends à ce que les événements HttpSessionDestroyedEvent soient déclenchés dans un environnement non en cluster lorsque l'instance de serveur est arrêtée, mais cela ne semble pas correct ici. Comment effectuer une maintenance sur un serveur? J'utilise le Spring Framework qui est l'origine de l'événement HttpSessionDestroyedEvent.Sessions avec des instances en cluster d'Oracle Application Server

Répondre

0

Il semble qu'il s'agisse d'un problème courant avec les serveurs de clusters et les serveurs Web. Fondamentalement, quand un seul nœud appartenant à un cluster est gracieusement éteint, ce nœud déclenche des événements détruits de session pour toutes les sessions qui appartiennent à ce nœud, même si plusieurs nœuds sont actifs dans le cluster. Voici quelques autres liens qui décrivent le même problème que moi.

Tomcat Issues

JBoss Issues

Une solution consiste à charger un fichier de propriétés (voir le lien JBoss) qui contient un indicateur d'arrêt ne importe où que vous écoutez un événement détruit de la session. Un inconvénient à cela est que l'administrateur système doit se souvenir de mettre à jour le fichier de propriétés avant et après le redémarrage.

Questions connexes