我已經配置了http://community.jboss.org/wiki/HAWebSessionsviaDatabasePersistence以及其他人提出的解決方案,比如使用file和db存儲在context.xml中配置Manager。但在JBoss-6.0.0中.Final根本不起作用。可能是一個錯誤?JBoss6不會持久會話
我已經完成了多次測試,並且在所有測試中會話都正確存儲在配置的持久性中。但是,如果我重新部署應用程序或重新啓動JBoss服務器,它將忽略持久會話,並要求我使用新登錄,而不是重複使用前一個。我已檢查SessionID存儲在會話持久性中,並且瀏覽器正在發送正確的cookie。
我附加了JBoss-6.0.0.Final的測試用例。它被配置爲http://community.jboss.org/wiki/HAWebSessionsviaDatabasePersistence
這一行簡單地添加到該文件jboss-6.0.0.Final/server/default/data/hypersonic/localDB.script(你可以用你自己的MySQL數據源,如果你想)
CREATE TABLE httpsessions (app VARCHAR(255) NOT NULL, id VARCHAR(255) NOT NULL, fullId VARCHAR(255) NOT NULL, creationtime BIGINT NOT NULL, maxinactive BIGINT NOT NULL, version INT NOT NULL, lastaccess BIGINT NOT NULL, isnew CHAR(1) NOT NULL, valid CHAR(1) NOT NULL, metadata VARBINARY NULL, attributes LONGVARBINARY NOT NULL, CONSTRAINT app_id PRIMARY KEY (app, id))
然後,部署應用程序並轉到localhost:8080/web在登錄表單中輸入credentials:user:password如果suecssfull登錄,您將得到一個'ok'(請參閱index.html)然後,您可以看到會話存儲在數據庫中:
$ cat jboss-6.0.0.Final/server/default/data/hypersonic/localDB.log
您將得到som ethig這樣的:
...
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
,然後重新加載本地主機上瀏覽器:8080 /網絡,系統會提示您再次輸入用戶名/密碼,甚至會話ID已被存儲。您也可以使用本機jbossweb.sar/context.xml配置獲得此行爲。
如果我失去了一些配置或真的是一個錯誤,任何人都可以說我嗎?我在幾種配置之間做了很多排列,但總是得到相同的結果。
我把一個鏈接與測試情況,因爲我不知道如何將它連接到論壇:
問候。