非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。

非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。


今天写web工程时,重新部署项目的时候控制台突然出现异常,但是对我的web工程功能好像没什么影响,于是我上网找大神的文章,了解他们如何理解与解决这个问题,下面是报错信息。

java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。
		at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1378)
		at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1030)
		at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:117)
		at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:84)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
		at java.lang.Thread.run(Thread.java:748)

在这里插入图片描述

理解与解释:

当我重新部署项目的时候,程序会被卸载,但是此时还有些线程还没有关闭,当tomcat已经关闭类加载器后,因为一些线程依然在运行,这个时候由于堆栈跟踪调试的,想试图终止线程,导致非法访问,于是抛出一个异常,但是这个异常对项目功能是没有影响的。

解决方法
修改tomcat目录下conf文件夹下的server.xml,在Host标签添加子元素找到Context标签,把reloadble的属性值设为:reloadable=“false”。

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用 ,也就是热部署。 有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。

参考文献

  • 17
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: 这是一个 Java 异常,表明当前 web 应用程序实例已经停止无法加载相应的资源。这可能是由于程序出现了错误导致停止或者是人为终止了程序。为了调试终止导致非法访问线程,程序将会抛出堆栈跟踪信息。 ### 回答2: 这个异常表示在访问一个web应用程序实例时出现了问题。具体而言,这个应用程序已经被停止,但是仍然有一个线程访问它。因为这个应用程序已经停止了,所以它就无法加载任何内容,导致访问出错。为了解决这个问题,需要进行以下几个步骤: 1. 终止导致非法访问线程。这个错误信息会附带一个堆栈跟踪,可以根据堆栈跟踪找到导致问题的线程,并终止它。这样可以避免线程继续访问停止应用程序实例,从而解决问题。 2. 检查应用程序实例为什么停止。这个错误信息表明应用程序实例已经停止,而不是正在进行重启或者更新等操作。因此,需要查看应用程序的日志文件或者其他相关信息,找出应用程序停止的原因,并进行修复。 3. 检查应用程序的配置文件。这个错误信息也可能是由于应用程序的配置文件出现了问题导致的。因此,需要检查应用程序的配置文件,确保没有任何错误或者不一致的地方,并进行修复。 总的来说,这个异常信息提示的问题比较严重,需要立即采取措施进行修复。如果不能解决问题,就需要进行更深入地调试和分析,找出问题的根源,并进行修复。 ### 回答3: 这是一个Java异常,意思是程序尝试访问一个已停止Web应用程序实例。这样的访问非法的,因为实例已经被终止了,所以无法继续加载它所需要的内容。 这种情况可能会出现在多个原因下,常见的如下: 1. 应用程序被关闭或终止-这可能是因为你自己手动停止应用程序或服务器出现了故障而导致的。 2. 内存不足-如果服务器内存不足,可能会导致应用程序终止,从而导致非法访问异常。 3. 应用程序代码错误-如果应用程序代码中存在一些错误,可能会导致应用程序终止。这可能是由于编程错误、依赖项错误或其他原因导致的。 为了解决这个问题,我们需要尝试找出具体的原因。可以通过以下步骤进行解决: 1. 重新启动应用程序-在某些情况下,应用程序只是由于某些原因而停止了,重新启动可能会解决这个问题。 2. 检查服务器内存-如果服务器内存不足,应该尝试增加服务器内存。 3. 检查应用程序日志-查看应用程序日志以了解程序的停止原因和可能导致异常的代码。 4. 检查应用程序代码-检查应用程序代码以查找可能导致应用程序停止的错误。 综上所述,这个问题可能是多方面的原因导致的,需要进行细致的排查和解决。需要注意的是,在解决这个问题时,我们应该谨慎操作,以避免对现有系统造成更加严重的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记或往

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值