2009-02-23 76 views
0

我有两个Oracle应用服务器(OAS)集群和复制会话实例。无论何时通过杀死进程终止其中一个实例,其他实例都会启动并包含会话。一切都按预期工作。如果我正常关闭OAS的一个实例(使用opmn stopall),则会触发HttpSessionDestroyedEvent事件并且信息被删除,从而导致应用程序无法正常故障转移。这是我第一次体验集群环境,我很好奇这是否很常见。我知道并期望在服务器实例停止时,HttpSessionDestroyedEvent事件在非集群环境中被触发,但在这里看起来不正确。如何在一台服务器上执行任何类型的维护?我使用的Spring框架是HttpSessionDestroyedEvent事件来自的地方。集群化Oracle应用服务器实例的会话

回答

0

看来这是群集和Web服务器的常见问题。基本上,当属于集群的单个节点正常关机时,即使更多节点已启动并在集群中运行,该节点也会为属于该节点的所有会话启动会话销毁事件。以下是一些描述我遇到的同样问题的链接。

Tomcat Issues

JBoss Issues

一种解决方法是加载一个属性文件(见JBoss的链接),它包含一个关机标志的任何地方,你听会话被毁事件。这样做的一个缺点是系统管理员必须记住在重新启动之前和之后更新属性文件。