如何解决Tomcat会话花了一段时间才能保留到JDBCStore中,导致意外的403s
最初,我们在AWS负载平衡器中使用StickySessions,并让Tomcat在用于Spring Web应用程序的内存会话中使用。我们正在更改扩展政策,我们的会话确实需要能够跨服务器。我正在努力切换Tomcat以使用JDBCStore来完成此任务。
我现在正在处理一个问题,即登录Spring应用程序后的会话需要一整分钟才能显示在Tomcat JDBCStore表中。在此分钟内,任何需要有效会话的请求都抛出403。我可以做些什么使它更快?
以下是在Tomcats context.xml中定义JDBCStore的新元素:
<Valve className="org.apache.catalina.valves.PersistentValve"/>
<Manager className="org.apache.catalina.session.PersistentManager"
distributable="true" processExpiresFrequency="1" maxIdleBackup="1" maxIdleSwap="0" minIdleSwap="0" >
<Store className="org.apache.catalina.session.JDBCStore"
driverName="org.postgresql.Driver"
connectionURL="jdbc:postgresql://localhost:5432/develop_4_5_0?currentSchema=datasuite"
connectionName="*" connectionPassword="*"
sessionAppCol="app_name" sessionDataCol="session_data" sessionIdCol="jsession_id"
sessionLastAccessedCol="last_access" sessionMaxInactiveCol="max_inactive"
sessionTable="tomcat_session" sessionValidCol="valid_session" />
</Manager>
我们正在使用Spring 4.1.9.RELEASE,Spring Security 3.2.10.RELEASE,JDK 1.8.0_242和Tomcat 8.5。
除了我们如何获取有关当前会话的信息外,我没有太多改变,但目前我什至没有达到该代码。如果您还有其他想看的内容,请告诉我。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。