在应用程序启动时启动HSQLDB数据库管理器?

时间:2011-06-27 09:21:27

标签: java spring hsqldb

当我在本地开发环境中工作时,是否可以以某种方式自动启动HSQLDB数据库管理器?我目前正在使用内存数据库。我在运行测试用例时发现了一些启动数据库管理器的代码。启动Web应用程序时也可以使用它吗?

org.hsqldb.util.DatabaseManagerSwing.main(new String[] { "--url","jdbc:hsqldb:mem:moviecollection", "--noexit" });

3 个答案:

答案 0 :(得分:3)

我假设你使用的是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的服务器上,您可能不希望这样做。

答案 1 :(得分:0)

你不需要明确地开始它。如果您配置连接URL并添加jar就足够了。

<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>

答案 2 :(得分:0)

如果您使用maven try exec java program,请将其绑定到 deploy 目标

我确信基于蚂蚁的项目有类似的解决方案