Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat7 SESSIONID在应用redis RedisSessionManager后保持更改_Java_Session_Tomcat_Redis_Persistence - Fatal编程技术网

Java Tomcat7 SESSIONID在应用redis RedisSessionManager后保持更改

Java Tomcat7 SESSIONID在应用redis RedisSessionManager后保持更改,java,session,tomcat,redis,persistence,Java,Session,Tomcat,Redis,Persistence,我正在Ubuntu16.04中使用tomcat7和oracle-java8 我启动了两个不同的tomcat实例进行负载平衡,但默认行为是会话不能在它们之间共享 所以我转向使用RedisSessionManager的解决方案 在tomcatconf/context.xml文件中添加以下行之后(当然,我在lib目录中添加了依赖项jar): 然后启动一个tomcat实例 但是在那之后,服务器似乎再也无法保存会话了,并且在每个请求中返回了不同的Set Cookie头,因此即使只有一个tomcat实例

我正在Ubuntu16.04中使用tomcat7和oracle-java8

我启动了两个不同的tomcat实例进行负载平衡,但默认行为是会话不能在它们之间共享

所以我转向使用RedisSessionManager的解决方案

在tomcat
conf/context.xml
文件中添加以下行之后(当然,我在lib目录中添加了依赖项jar):


然后启动一个tomcat实例

但是在那之后,服务器似乎再也无法保存会话了,并且在每个请求中返回了不同的Set Cookie头,因此即使只有一个tomcat实例,登录也无法工作

如果我注释掉上面几行(在
context.xml
文件中),会话将按预期工作


那么,使用RedissionManager有什么不对呢?

我自己终于找到了答案:

com.orangefunction.tomcat.redissession.RedisSessionManager
不支持为
会话超时设置
-1
值,而默认设置支持

在我的例子中,我的origin
web.xml
文件包含以下内容:

<session-config>
    <session-timeout>-1</session-timeout>
    <cookie-config>
        <max-age>2592000</max-age>
    </cookie-config>
</session-config>

希望这对那些有同样问题的人有所帮助。

我自己终于找到了答案:

com.orangefunction.tomcat.redissession.RedisSessionManager
不支持为
会话超时设置
-1
值,而默认设置支持

在我的例子中,我的origin
web.xml
文件包含以下内容:

<session-config>
    <session-timeout>-1</session-timeout>
    <cookie-config>
        <max-age>2592000</max-age>
    </cookie-config>
</session-config>
希望这对有同样问题的人有所帮助

<session-config>
    <session-timeout>518400</session-timeout>
    <cookie-config>
        <max-age>2592000</max-age>
    </cookie-config>
</session-config>