我正在运行 Spring + hibernate 3 + c3p0。启动时,如果数据库关闭,大约 10 分钟后会抛出异常。在那之前程序被阻塞...我不包括 spring xml、hibernate 配置等,因为这是一个相当普遍的问题,如果存在解决方案,它必须是标准的直接方式。如果没有,我可以修剪关键代码和配置并将其粘贴到此处。有人知道吗?提前致谢。
澄清:
我本质上需要的是知道在 DriverManager.setLoginTimeout() 函数周围是否有 c3p0 或 hibernate 甚至 spring 中的包装器。或为我提供此功能的功能。包装器可以通过设置或其他方式。如果我没有在 X 秒内连接到数据源,我只想得到一个异常,不管是什么原因(套接字、数据库、恶劣天气)。我想找个地方来设置这个 X。更糟糕的是,我正在使用的驱动程序 Oracle 驱动程序没有实现 setLoginTimeout() 所以我不能直接使用它。我开始意识到没有办法解决它,只能手动生成我自己的计时器线程。任何人都可以验证上述情况?非常感谢。