当我在本地开发环境中工作时,是否可以以某种方式自动启动HSQLDB数据库管理器?我现在使用的是内存中的DB。我发现了一些在运行测试用例时启动数据库管理器的代码。在启动web应用程序时,是否也可以使用此功能?
org.hsqldb.util.DatabaseManagerSwing.main(new String[] { "--url","jdbc:hsqldb:mem:moviecollection", "--noexit" });发布于 2011-06-27 19:25:10
我假设你正在使用Spring,因为你用它标记了你的问题。您可以创建一个Spring bean,它有一个用JSR-250 annotation @PostConstruct注释的方法。使用@PostConstruct注释的方法指示应该在创建bean并完成依赖项注入之后调用该方法。
@Component
public class Initializer
{
@PostConstruct
public void init()
{
org.hsqldb.util.DatabaseManagerSwing.main(new String[] { "--url","jdbc:hsqldb:mem:moviecollection", "--noexit" });
}
}如果您要使用web应用程序启动DatabaseManagerSwing,它将被创建并显示在运行WAR的服务器上,而您可能不希望这样做。
发布于 2011-06-27 18:23:17
你不需要显式地启动它。如果您配置连接url并添加jars,就足够了。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
<property name="url" value="jdbc:hsqldb:mem:demo"/>
<property name="username" value="sa"/>
<property name="password" value=""/> <
</bean>发布于 2011-06-27 19:22:24
如果使用maven try exec java program,请将其绑定到部署目标。
我相信,对于基于ant的项目,也有类似的解决方案。
https://stackoverflow.com/questions/6490837
复制相似问题