JBoss6不会持久化会话
我已经在上配置了建议的解决方案,其他人如在context.xml中使用文件和数据库存储配置管理器。但是在JBoss-6.0.0中,Final根本不起作用。可能是虫子 我已经做了几个测试,在所有测试中,会话都正确地存储在配置的持久性中。但是,如果我重新部署应用程序或重新启动JBoss服务器,它将忽略持久化会话,并要求我重新登录,而不是重复使用以前的登录。我已检查会话ID是否存储在会话持久性中,并且浏览器是否发送了正确的cookie 我附上了JBoss-6.0.0.Final的测试用例。它被配置为 只需将这一行添加到文件jboss-6.0.0.Final/server/default/data/hypersonic/localDB.script中(如果需要,您可以使用自己的mysql数据源) 然后,部署应用程序并在登录表单中转到localhost:8080/web输入凭据:user:password如果suecssfull登录,您将获得“ok”(参见index.html),然后,您可以看到会话如何存储在数据库中:JBoss6不会持久化会话,jboss,jboss6.x,Jboss,Jboss6.x,我已经在上配置了建议的解决方案,其他人如在context.xml中使用文件和数据库存储配置管理器。但是在JBoss-6.0.0中,Final根本不起作用。可能是虫子 我已经做了几个测试,在所有测试中,会话都正确地存储在配置的持久性中。但是,如果我重新部署应用程序或重新启动JBoss服务器,它将忽略持久化会话,并要求我重新登录,而不是重复使用以前的登录。我已检查会话ID是否存储在会话持久性中,并且浏览器是否发送了正确的cookie 我附上了JBoss-6.0.0.Final的测试用例。它被配置为
$ cat jboss-6.0.0.Final/server/default/data/hypersonic/localDB.log
你会得到这样的结果:
...
DELETE FROM HTTPSESSIONS WHERE APP='/web' AND ID='vIUYhSZDkw7fjCnEealRFA__'
INSERT INTO HTTPSESSIONS VALUES('/web','vIUYhSZDkw7fjCnEealRFA__','vIUYhSZDkw7fjCnEealRFA__',1351177671379,1800,9,1351178495217,'0...
COMMIT
如果使用以下命令重新部署应用程序:
$ touch jboss-6.0.0.Final/server/default/deploy/test.ear/META-INF/application.xml
然后在localhost:8080/web上重新加载浏览器,系统会提示您再次输入用户/密码,即使已存储sesion id。您也可以使用本机jbossweb.sar/context.xml配置获得此行为
如果我丢失了一些配置或者它真的是一个bug,任何人都可以告诉我?我在几个配置之间做了很多排列,但总是得到相同的结果
我放置了一个与测试用例的链接,因为我不知道如何将其附加到论坛:
您好。我进行了一些研究,发现了此配置不适用于我的原因: 如果您使用JASS作为身份验证框架,则会话持久性对于维护登录到重新部署的用户没有用处。JAAS主体不会持久化,因此无论如何都会丢失 这可以通过使用集群来解决,这里是如何做到的:
$ touch jboss-6.0.0.Final/server/default/deploy/test.ear/META-INF/application.xml