我正在尝试设置Wildfly 9.0.0Final standanlone服务器的集群。我使用的是httpd2.2。和modcluster1.2.6。在它们之前进行负载平衡。
群集正常工作,直到我部署可以在link上找到的简单的仅限war的应用程序会话复制正常工作。部署后,我加载页面put.jsp,然后我杀死服务页面服务器。然后我去加载页面get.jsp,它显示我相同的日期和时间,我知道会话已保存,因为此请求是从群集中的其他节点提供的。
在成功测试该基本示例后,我开始部署自己的Web应用程序。我把标签放在web.xml中并部署了应用程序。它没有问题就上线了,我登录了我的页面。现在,我希望我的登录帐户能够幸免于正在服务的节点并且没有注意到任何事情。 在杀死服务节点后我得到了几秒钟404,在同一地址找不到页面,几秒钟后我回到我的页面但会话没有留下,我没有登录,所以会话没有分发到其他节点。
为了确保我编写了用户权限登录,我还将get.jsp和put.jsp复制到我的应用程序并重新部署。我先做的测试也发生了同样的事情。
我的应用程序是带有ejb和web包的耳包。 Bean都在实现Serializable,web.xml中有可分发的标签。这种行为还有其他原因吗?
我知道我的节点互相看见,httpd也看到了两个节点。 httpd日志或任何节点日志中没有错误。
答案 0 :(得分:1)
从底部逐位构建我的应用程序后,我发现问题在于使用omnifaces 2.0。在我的申请中。不知怎的,omnifaces阻止了会话复制或破坏会话,每个请求都有新的会话(没有研究为什么要详细说明)。对于您不需要在任何bean中使用omnifaces的问题,仅使用app部署它会导致问题。
我将omnifaces升级到新版本2.1。哪个会话复制工作正常。