我正在尝试使用Spring Boot将一个H2内存DB持久化到一个文件中,以便重用其中的数据。
不幸的是,指定数据源url的方式如下所示
spring.datasource.url = jdbc:h2:file:~/WeatherDB;FILE_LOCK=FS
( complete application.properties )
对我不起作用。我在硬盘上找不到H2生成的文件(而且,重启服务器后保存的数据也不可用)。
为了可视化这一点,我创建了一个可以在 Bitbucket 上找到的示例项目。
这样,无论应用程序是从带有 gradle run 的集成开发环境中运行,还是从jar中打包后运行,似乎都没有什么区别。
gradle run
要持久化和重用H2 DB,需要什么配置选项?
更新:
我意识到在 http://localhost:8080/configprops 中有一个用于配置选项的执行器端点,它显示了
http://localhost:8080/configprops
"spring.datasource.CONFIGURATION_PROPERTIES": { "prefix": "spring.datasource", "properties": { "schema": null, "data": null, "xa": { "dataSourceClassName": null, "properties": { } "separator": ";", "url": "jdbc:h2:file:~/WeatherDB", "platform": "all", "continueOnError": false, "jndiName": null, "sqlScriptEncoding": null, "password": "******", "driverClassName": "org.h2.Driver",