具有Oracle Application Server集群实例的会话

时间:2009-02-23 13:30:28

标签: oracle session cluster-computing

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

1 个答案:

答案 0 :(得分:0)

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

Tomcat Issues

JBoss Issues

解决方法是加载一个属性文件(请参阅JBoss链接),该文件包含您在侦听会话销毁事件的任何位置的关闭标志。这样做的一个缺点是系统管理员必须记住在重新启动之前和之后更新属性文件。