如何将属性 ;D B_CLOSE_ON_EXIT=FALSE 设置为 oracle db url?



如何使用oracle连接URL设置属性DB_CLOSE_ON_EXIT=FALSE

我尝试过的解决方案:

jdbc:oracle:thin:@localhost:1522/xe;DB_CLOSE_ON_EXIT=FALSE

但它不起作用。

我正在使用Java,Spring,JNDI和oracle数据源。

我有addShutdownHook,它在弹簧上下文被销毁之前运行,我的要求是在应用程序关闭之前将内存中的缓存数据保存在数据库中。addShutdownHook 工作正常,但是当它触发 JNDI 连接时,已经关闭并且没有更多的数据库连接可用,并且它抛出以下错误:

SQL 执行失败:关闭,因为数据库已关闭(要禁用在 VM 关闭时自动关闭,请添加";DB_CLOSE_ON_EXIT=FALSE"到数据库网址( [90121-173]

这就是我们使用 H2 数据库进行设置的方式:jdbc:h2:<url>;DB_CLOSE_ON_EXIT=FALSE

在此代码执行之前,JDNI 连接已经关闭,并引发上述异常。

Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
log.info("Application shutting down, saving the API Event Log data to the database...")
apiEventLogCacheService.saveAPIEventLogCacheToDB();
}
});```

使用此 URL:

jdbc:h2:<url>;MODE=Oracle;DB_CLOSE_ON_EXIT=FALSE

相关内容

最新更新