我正在尝试使用Spring Boot将一个H2内存DB持久化到一个文件中,以便重用其中的数据。
不幸的是,指定数据源url的方式如下所示
spring.datasource.url = jdbc:h2:file:~/WeatherDB;FILE_LOCK=FS
(complete application.properties)
对我不起作用。我在硬盘上找不到H2生成的文件(而且,重启服务器后保存的数据也不可用)。
为了可视化这一点,我创建了一个可以在Bitbucket上找到的示例项目。
这样,无论应用程序是从带有gradle run
的集成开发环境中运行,还是从jar中打包后运行,似乎都没有什么区别。
要持久化和重用H2 DB,需要什么配置选项?
更新:
我意识到在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",
"initialize": true,
"username": "sa"
}
},
但是我在硬盘上找不到文件WeatherDB
,重启服务器后也没有任何数据可用。
非常欢迎任何建议;-)
https://stackoverflow.com/questions/28921896
复制相似问题