如果我在Tomcat中部署了一个grails应用程序,其中有100个用户与该站点交互,并且一个用户执行了一些导致不可恢复的错误/堆栈跟踪的代码,那么其他99个用户是否完全与该错误隔离?我认为应该是底层线程模型的情况,但我想确认一下。
由于
答案 0 :(得分:1)
这取决于错误发生的位置。如果它是本地化到当前正在执行的线程的东西,那么其他用户不会受到影响。但是,您可以创建一些会影响网站上所有用户的内容 - 一个极端的例子是在没有运行SecurityManager的情况下调用 System.exit()。
所以,是的,Grails(或者更确切地说是Tomcat或其他应用程序服务器)将为每个单独的请求运行一个线程,因此抛出异常只会是抛出它的线程的本地。