这个异常 java.sql.SQLNonTransientConnectionException 表示尝试创建到数据库服务器的连接时发生了非暂时性的错误,而且在尝试了3次重连之后仍然失败,因此放弃连接。

错误原因可能包括但不限于以下几点:

  1. 数据库服务器未运行或不可达:请检查数据库服务器是否正在运行,并且客户端应用可以访问该服务器。确保主机名、端口号和网络配置正确无误。

  2. 登录信息错误:检查应用程序中配置的数据库用户名、密码以及数据库名称是否正确。

  3. 连接数已满:数据库服务器可能设置了最大连接数,当达到限制后将无法建立新的连接。需要查看并调整数据库的最大连接数限制。

  4. 网络问题:可能是由于网络波动或者防火墙设置导致客户端无法与数据库服务器建立连接。

  5. 数据库驱动不兼容或版本问题:确认使用的Java数据库驱动程序与所使用的数据库版本兼容。

  6. 数据库服务资源耗尽:如内存不足、磁盘空间不足等可能导致数据库无法接受新连接。

解决这个问题需要根据具体的错误提示及日志进一步排查。通常第一步是检查数据库服务器的状态以及应用程序与数据库之间的网络连接情况。同时,审查数据库连接池配置、登录凭据和数据库本身的运行状况也是非常重要的步骤。