我正在使用一些遗留的 Java 代码,这些代码由来自 tomcat 下的 Grails 应用程序中的几个静态类组成。当我只有一个用户使用 Web 应用程序时,一切正常。当两个用户使用该应用程序时,事情就开始出错了。我相信这是因为静态类维护资源锁,例如套接字。我假设默认情况下应用程序中的所有 session 都将使用静态类的相同副本,我是否正确?如果是这样,有没有办法改变这种行为,为每个用户 session 加载一个新副本?
最佳答案
不,没有办法将静态方法映射到 tomcat 或任何其他应用程序服务器中的 http session 。话虽如此,静态方法只有在静态保持状态时才是问题。
如果是这种情况,那么您要么需要重写这些类,以便您可以在 session 中保存实例。
关于java - tomcat下的JSP/Grails应用中静态函数是否隔离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043950/