J2EE:Singleton vs将事物保持在会话中

Mar*_*kis 3 java session singleton servlets java-ee

什么时候应该在会话中保留一个对象(即应用程序范围的属性文件),而不是创建一个单例来保存它?应该何时使用这些方法?

注意:我正在开发集群环境,如果这有任何区别的话.

Bal*_*usC 9

如果它应该是应用程序范围的,那么您不应该将它存储在会话范围中,而是存储在应用程序范围中.存储在会话范围中时,您不必要地为每个访问者复制相同的数据.根本不需要单例,只需在服务器启动期间在a的帮助下实例化一次,ServletContextListener并使用它将其存储在应用程序范围内ServletContext#setAttribute().