当数据库在春季可用时执行 JNDI 查找



首先,让我提前感谢您的时间。让我介绍一下我的问题:

我有一个带有"可选"数据源的 spring 应用程序,它以"懒惰的方式"执行 jndi 查找(lookupOnStartup:false )。从逻辑上讲,当需要数据源时,jndi 外观就完成了。

但是,当查找被懒惰地完成并且数据库不可用时会发生什么:JndiLookupFailureException 被引发。右。

从那一刻起,每次使用数据源时,无论数据库在此期间是否启动和运行,您都会得到异常。

这是我的问题:有没有办法检测数据库已启动并再次查找,以摆脱异常?

非常感谢您的时间!

不幸的是,这是不可能的。

您可以创建自己的实现复合模式的DataSource实现,并在实际数据库(如果可用)或空的 HSQLDB 数据库内存之间切换。是的,即使数据库在查找后可用,连接池也可能充满 HSQLDB 连接,但在这种情况下,您需要重新加载 Web 应用程序。

最新更新