Tomcat应用程序的重新部署导致活动会话被丢弃

德文

我有一个tomcat应用程序,可以通过将新my-project.war文件放入/var/lib/tomcat8/webapps/服务器上目录(通过scp)来进行部署

每次执行此操作后,新副本都会在几秒钟后生效。唯一的问题是它将删除所有会话。

我可以找到的所有文档都告诉我Tomcat应该默认还原会话。当我重新启动Tomcat服务时似乎确实是这种情况,但是当我重新部署时却不是。

谁能告诉我这是怎么回事?我不完全理解为什么首先部署这种方式会起作用。

斯韦特林·扎列夫(Svetlin Zarev)

默认的会话管理器-StandardManager将会话保存在中<tomcat-home>/work/<app-name>/SESSIONS.ser当您停止tomcat时,会话将序列化到该文件中。当您启动它时-它们是从它加载的。

但是,当您重新部署应用程序时,会发生两件事:

  1. Tomcat的un-deploys旧应用程序,并删除<tomcat-home>/work/<app-name>/文件夹,从而消除了保存会话

  2. Tomcat部署新应用程序并创建一个新文件夹

或用两个词-tomcat在取消部署时删除已保存的会话。我猜这是因为:

  • 重新部署的实现是取消部署->部署。即,“取消部署”步骤不知道是否将部署该应用程序的新版本,因此它确保在启动后正确进行清理。

  • 从安全角度来看更好

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

docker tomcat重新部署应用程序

在Heroku PHP会话上重新部署应用程序时消失

在Tomcat中重新部署应用程序时发生内存泄漏

Blazor应用程序重新部署的最佳做法

重新部署应用程序时,Bouncycastle无法加载

在 GitHub 页面上重新部署 React 应用程序

在不重启的情况下将应用程序部署/重新部署到Tomcat的小窍门

在Java EE 7应用程序中使用ThreadPoolExecutor的Drools导致重新部署时出现问题

部署/重新部署后获取PM2应用程序的正确状态

在 Java 应用程序中删除/关闭 Firebase(用于热重新部署)

Azure网站-使用Composer重新部署PHP应用程序失败

如何配置检查点以重新部署Spark Streaming应用程序?

重新部署Spring Boot应用程序init.d服务

如何在Google App Engine上重新部署应用程序?

AWSDeploy重新部署ASP.NET WebAPI ELB应用程序无法正常工作

当我git merge时,Heroku不会重新部署我的应用程序

重新部署到EC2实例后,对应用程序无更改

是否可以在不重新启动某些进程类型的情况下重新部署Heroku应用程序

禁止 heroku 在每次推送到 github 拉取请求时重新部署审查应用程序

如何在jboss EAP 6.3.0 GA中使用管理控制台重新部署应用程序?

将3个应用程序移动到一个文件夹后无法重新部署

是否可以在不重新部署的情况下更新Azure Web应用程序的web.config文件?

如何更改Google App Engine Flex应用程序的环境变量并重新启动它,而无需重新部署

Traefik 后面 Tomcat 上的 Vaadin 应用程序导致会话过期

Tomcat中的Web应用程序部署

在Tomcat上部署Web应用程序

使用Eclipse WTP的任何方式,都不意味着在更改JSP页面时重新部署_WHOLE_应用程序

如何预热IIS中托管的asp.net核心应用程序(a)在网站重启时和(b)在重新部署时?

WSO2 SP中的Siddhi应用程序如何在重新部署期间处理传入的数据流?