我想将会话设置为不过期。我在web.xml中设置了会话配置。
<session-config>
<session-timeout>0</session-timeout>
</session-config>
我没有设置session.setMaxInactiveInterval,因此应该首先执行session-config。但这不起作用。我在下面的context.xml中设置会话JDBCStore。我认为这引起了问题。当我将session-timeout设置为0或-1时,我发现数据库中的max_inactive为-60。有时,我找不到数据库中的数据。我很困惑。
<Manager className="PersistentManager"
saveOnRestart="true"
maxActiveSession="-1"
minIdleSwap="0"
maxIdleSwap="30"
maxIdleBackup="0">
<Store className="JDBCStore"
driverName="Driver"
connectionURL="mysql://localhost?user;password"
sessionTable="cache_session"
sessionIdCol="session_id"
sessionDataCol="data"
sessionValidCol="session_valid"
sessionMaxInactiveCol="max_inactive"
sessionLastAccessedCol="last_access"
sessionAppCol="application_name"
checkInterval="60"
debug="99" />
</Manager>