首页 > 其他分享 >【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题

【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题

时间:2024-11-06 15:48:27浏览次数:2  
标签:Tomcat tomcat 数据源 版本升级 报错 DBCP2 apache 连接池

问题复现

项目上历史项目为解决漏洞扫描从Tomcat 6.0升级到了9.0版本,服务启动的日志显示如下警告,数据源是通过JNDI方式在server.xml中配置的,控制台上狂刷无法找到表空间的错误(没截图)

报错:

06-Nov-2024 10:32:03.701 警告 [main] java.util.ArrayList.forEach Name = 数据源 Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "1000" for "maxActive" property, which is being ignored.
06-Nov-2024 10:32:03.708 警告 [main] java.util.ArrayList.forEach Name = 数据源 Property maxWait is not used in DBCP2 , use maxWaitMillis instead. maxWaitMillis default value is PT-0.001S. You have set value of "10000" for "maxWait" property, which is being ignored.

server.xml的JNDI数据源配置示意:

<Context path="/test" docBase="test" debug="1" reloadable="true" crossContext="true">
	<Resource auth="Container" name="jdbc/test" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" 
              maxActive="1000" maxIdle="300" maxWait="10000" 
              url="jdbc:oracle:thin:@10.2.99.99:1521/CLCDB" username="test" password="test" /> 
</Context>

问题出现原因

翻了翻官网迁移文档,发现Tomcat 8开始修改了默认的内建数据源版本,由DBCP1升级到DBCP2。DBCP1的实现被复制到工厂org.apache.tomcat.jdbc.pool.DataSourceFactory,DBCP2使用common-dbcp新实现。

解决方法

解决数据源问题需要从定义连接处的工厂决定使用哪个DBCP连接池版本。
在Resource添加 factory="org.apache.tomcat.jdbc.pool.DataSourceFactory",以指定连接池。

<Context path="/test" docBase="test" debug="1" reloadable="true" crossContext="true">
	<Resource auth="Container" name="jdbc/test" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" 
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" 
              maxActive="1000" maxIdle="300" maxWait="10000" 
              url="jdbc:oracle:thin:@10.2.99.99:1521/CLCDB" username="test" password="test" /> 
</Context>

标签:Tomcat,tomcat,数据源,版本升级,报错,DBCP2,apache,连接池
From: https://www.cnblogs.com/hellxz/p/18530366

相关文章

  • 【docker】拉取镜像环境报错解决#ERROR: Get https://registry-1.docker.io/v2/
    系统环境是ubuntu24.04创建daemon.json文件,设置国内加速地址。之前尝试使用了阿里,网易,百度的都不行。最后网上随便找了一粘进去,{"registry-mirrors":["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://do......
  • scroll-view 滚动时报错Ignored attempt to cancel a touchmove event with cancelabl
    场景描述:在uniapp中的弹窗pop中使用scroll-view频繁滚动出现报错[Intervention]Ignoredattempttocancelatouchmoveeventwithcancelable=false,forexamplebecausescrollingisinprogressandcannotbeinterrupted解决报错 解决办法:因为事件冒泡,scroll-v......
  • tomcat转东方通
    目录前言登录服务器tomcat部署应用东方通部署东方通配置启动参数配置-JVM参数启动参数配置-服务器参数WEB容器配置-虚拟主机管理WEB容器配置-HTTP通道管理东方通密码重置前言本文简要Linux环境介绍tomcat部署的服务,换成中间件是东方通之后如何部署。登录服务器不......
  • 解决idea报错cannot open Local Terminal
    idea使用终端发现用不了,一直显示can't  open local,具体报错情况如下: 一般是设置了powershell路径 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,但没有解决(powershell路径可以改回来)再尝试了在环境变量Path中添加了 Powershell 路径配......
  • Mac报错:zsh: command not found: brew
    解决方法:cd/opt /bin/bash-c"$(curl-fsSLhttps://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"or /bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brewls原因目前Homebrew还没有完......
  • 【Azure App Service】使用Microsoft.Office.Interop.Word来操作Word文档,部署到App Se
    问题描述在.NET项目中,使用Microsoft.Office.Interop.Word组件来操作Word文档,使用了Microsoft.Office.Interop.Word.Document对象中的Open和SaveAs方法。##打开文件doc=app.Documents.Open(refinputFile,refnullobj,refnullobj,refnullobj,refnullobj,refnullobj,......
  • 关于idea连接数据库时报错:Cannot run program E:\IntelliJ_IDEA_2023.3.4\jbr\bin
    问题说明连接mysql数据库时在点击testconnection时弹出的问题:CannotrunprogramE:\IntelliJ_IDEA_2023.3.4\jbr\bin\javacreateprocesserror=5,拒绝访问查询多个网站都没有找到解决方案。解决方法点击左侧Drivers,找到MySQL右侧点击Advanced在最下方的VMhome......
  • cron定时任务报错PAM unable to dlopen(pam_tally2.so): /lib/security/pam_tally2.so
    在Ubuntu22.04中,pam_tally2模块可能已经不再被支持或包含在系统默认的PAM模块中。因此,当系统尝试加载该模块时,无法找到对应的.so文件,需要使用pam_faillock.so来代替先查找下是否存在pam_faillock.so模块find/usr-name"pam_*.so"没有pam_tally2.so,复制出来一个就解决了......
  • 解决vite resolve alias的typescript报错
    报错如下: tsconfig.json配置如下:tsconfig.app.json需要添加一下配置:"compilerOptions":{"include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src"],"exclude":["no......
  • MySQL导入sql文件报错:2006 - MySQL server has gone away(转载)
    今天在在MySQL导入sql文件,导入失败,出现如下错误:2006-MySQLserverhasgoneaway,之前也遇到过,又一次遇到,还是记录一下吧!【问题】导入的sql文件大概有15M,导入过程中报错:2006-MySQLserverhasgoneaway  【解决办法】1、找到MySQL安装目录下的my.ini文件,修改max_allo......