3 回答
在 JDBC url jdbc:h2:~/test;DB_CLOSE_ON_EXIT=FALSE中指定参数
对于内存测试数据库,我建议您添加DB_CLOSE_DELAY=-1
,如下所示:
jdbc:h2:mem:alm;MODE=Oracle;DB_CLOSE_DELAY=-1
添加 JDBC 连接 url 以embedded-dababase
将其更改为:
<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:mem:test;MODE=Oracle;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</bean>
<jdbc:initialize-database data-source="dataSource" ignore-failures="DROPS">
<jdbc:script location="classpath:schema_h2.sql" />
</jdbc:initialize-database>
我遇到了与 Michael Piefel 相同的问题,并尝试实施 Michail Nikolaev 解释的解决方案。但它没有工作,不知何故spring-batch,然后,元数据JOB_ *表在哪里。因此,由于spring-jdbc
我的应用程序使用的版本是 3.0.5 并且增加了spring-framework
一个与dwr
(我在我的应用程序中使用它)冲突的版本,它是geo
基于 spring 的本地化,dwr
并且gmaps api
. 我下载了该spring-jdbc 4.0.3
版本并从中获取默认情况下H2EmbeddedDatabaseConfigurer.class
拥有的人DB_CLOSE_ON_EXIT=FALSE
并将其替换为spring-jdbc 3.0.5
Release 中的那个并在 war 文件中部署它并且它可以工作,关闭VM
并没有引起内存数据库的关闭.
如果像我这样的其他人无法实施其他解决方案,希望这个不寻常的解决方案会有所帮助。
我遇到了同样的问题,但这是因为我忘记在我的一个实体上添加注释 @Entity。我添加它,它现在可以工作了!我希望这可以帮助别人。