注册了JDBC驱动程序 [oracle.jdbc.OracleDriver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。

10-Aug-2023 16:52:21.309 信息 [localhost-startStop-1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext: initialization completed in 3901 ms
10-Aug-2023 16:52:21.318 严重 [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
10-Aug-2023 16:52:21.323 严重 [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/DVSWeb]启动失败
10-Aug-2023 16:52:21.359 信息 [localhost-startStop-1] org.springframework.web.context.support.XmlWebApplicationContext.doClose Closing Root WebApplicationContext: startup date [Thu Aug 10 16:52:17 CST 2023]; root of context hierarchy
10-Aug-2023 16:52:21.378 警告 [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [DVSWeb] 注册了JDBC驱动程序 [oracle.jdbc.OracleDriver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
10-Aug-2023 16:52:21.379 警告 [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [DVSWeb] 注册了JDBC驱动程序 [org.postgresql.Driver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
10-Aug-2023 16:52:21.380 警告 [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [DVSWeb] 注册了JDBC驱动程序 [com.microsoft.sqlserver.jdbc.SQLServerDriver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
10-Aug-2023 16:52:21.383 严重 [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks web应用程序[DVSWeb]创建了一个ThreadLocal,其键类型为[java.lang.ThreadLocal](值为[java.lang.ThreadLocal@be9dc71]),值类型为[java.lang.Class](值为[class oracle.sql.AnyDataFactory),但在停止web应用程序时未能将其删除。线程将随着时间的推移而更新,以尝试避免可能的内存泄漏
10-Aug-2023 16:52:21.409 严重 [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks web应用程序[DVSWeb]创建了一个ThreadLocal,其键类型为[java.lang.ThreadLocal](值为[java.lang.ThreadLocal@4efd1e00]),值类型为[java.lang.Class](值为[class oracle.sql.TypeDescriptorFactory),但在停止web应用程序时未能将其删除。线程将随着时间的推移而更新,以尝试避免可能的内存泄漏
 

这个问题熬了我好久好久好久(省略一百万个好久),最后终于让我找到解决办法了,我的解决办法不一定适用所有人,仅供参考,方法如下:

在pom.xml文件中加入

<resources>
         <resource>
            <directory>src/main/java</directory>
            <includes>
               <include>**/*.properties</include>
               <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
         </resource>
      </resources>
   </build>
</project>

注意代码放入的位置即可,在build的结束标签之前,希望能给你们带来一点帮助。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这段文字是报错信息,大意为已经注册jdbc驱动程序(com.alibaba.druid.proxy.druiddriver),但在web应用程序停止无法注销它。为了防止内存泄漏jdbc驱动程序已被强制取消注册。 ### 回答2: JDBC是Java Database Connectivity的缩写,它是Java编程语言中用于与关系型数据库建立连接的一套API。使用JDBC需要通过注册驱动程序来实现数据库的连接,例如com.mysql.jdbc.Driver。 在Web应用程序中,我们通常需要使用数据库来存储数据,因此需要注册JDBC驱动程序。当Web应用程序停止运行,需要注销注册JDBC驱动程序,以防止内存泄漏,这是非常重要的一步。 然而,在某些情况下,注销注册JDBC驱动程序可能会遇到问题。如果我们使用的是com.alibaba.druid.proxy.DruidDriver,当Web应用程序停止无法注销驱动程序。 为了避免内存泄漏JDBC驱动程序强制取消注册。这意味着在下一次需要使用该驱动程序,需要重新注册它。因此,在使用JDBC驱动程序,我们需要特别注意其注册注销的方法,以避免潜在的内存泄漏问题。 总之,在Web应用程序中使用JDBC驱动程序是一个非常重要的过程。我们需要正确地注册注销驱动程序,以确保应用程序的稳定性和安全性。否则,不仅会导致内存泄漏问题,还可能会在应用程序运行过程中发生不可预测的错误。 ### 回答3: JDBC驱动程序注册注销是非常重要的操作。注册驱动程序,需要提供正确的驱动程序类名,否则将无法正确加载驱动程序,从而无法正常使用数据库连接。在Web应用程序启动,通常会注册所有需要使用的数据库驱动程序,这样在应用程序运行过程中就可以随获取数据库连接,以执行相关的操作。 然而,当Web应用程序停止,需要对已注册JDBC驱动程序进行注销操作。否则,这些驱动程序可能会在内存中持续存在,导致内存泄漏,影响应用程序的性能和稳定性。为避免这种情况的发生,JDBC驱动程序应该在应用程序停止被正确注销。 如果在Web应用程序停止无法正确注销JDBC驱动程序,那么可能会出现内存泄漏的情况。这,需要强制取消注册JDBC驱动程序,以释放内存资源。强制取消注册驱动程序的方法是,调用DriverManager.deregisterDriver()函数,将注册驱动程序驱动程序管理器中删除。 总之,为了避免内存泄漏和提高应用程序的性能,必须正确注册注销JDBC驱动程序。如果出现无法注销的情况,可以通过强制取消注册的方式,释放内存资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值