2016-12-30 54 views
0

首先,请允许我提前感谢您的时间。让我来介绍一下我的问题:当数据库在春季可用时执行JNDI查找

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

但是,当查找完成并且数据库不可用时发生了什么:JndiLookupFailureException已提升。对。

从那一刻起,每次使用数据源时,都会得到异常,无论数据库是否同时运行&。

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

非常感谢您的时间!

回答

0

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

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