这是您可以配置和/或依赖于您的应用程序服务器的东西吗?我想知道当你重新部署应用程序时是否会重构一个单例对象。
我宁愿在这里提问并尝试得到一个简明的答案,而不是随机谷歌搜索或求助于阅读 J2EE Servlet 规范 -
最佳答案
不,它不会(至少我知道没有应用服务器)。 servlet 规范为您提供了 ServletContextListener钩子(Hook)来管理应用程序生命周期。 JBoss 等一些应用程序服务器具有针对单例 bean (@Service) 的特殊注释,而 EJB 3.1 为您提供了@Singleton 注释。使用单例时要考虑的另一件事是当您将应用程序集群时会发生什么,您将需要高可用性 (HA) 或使用某种类型的复制,除非您使用无共享方法。分布式缓存正是出于这个原因。
关于tomcat - 为您的 Web 应用程序提供服务的 JVM 是否会在重新部署到应用程序服务器时重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/870190/