Tomcat中JDBC遇“Connection Refused Bad File Descriptor”错误排查
问题分析:调试模式下Claris Type III JDBC驱动连接池初始化失败
可以高度怀疑是Claris Type III JDBC驱动存在与JPDA调试模式不兼容的问题,依据如下:
- 非调试模式下应用部署运行完全正常,说明连接池配置、数据库连接参数本身无问题
- 替换为MySQL或SQL Server的JDBC驱动后,使用
catalina.sh jpda start启动调试模式可正常运行,排除了Tomcat JPDA配置、Spring Boot 2.x/Java 17环境本身的问题 - 报错核心指向FileMaker JDBC驱动的连接逻辑:
com.filemaker.jdbc.FMSQLException: [FileMaker][FileMaker JDBC] Connection refused: Bad file descriptor,且异常触发于连接池初始化阶段,说明驱动在调试环境下的连接建立逻辑存在异常
后续验证建议
- 下载Claris JDBC驱动的最新版本,确认是否已修复该调试模式兼容问题
- 若无法升级驱动,可临时调整连接池初始化策略(比如设置
initialSize=0,延迟连接初始化到第一次实际请求时),尝试绕过调试启动时的初始化失败 - 检查驱动官方文档,确认是否有针对Java 17的适配说明,部分老版本驱动可能对高版本Java的调试环境支持不佳
内容的提问来源于stack exchange,提问作者Morkus
相关产品推荐
相关产品推荐

