【问题标题】:Start HSQLDB database manager on application startup?在应用程序启动时启动 HSQLDB 数据库管理器?
【发布时间】:2011-06-27 09:21:26
【问题描述】:

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

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

【问题讨论】:

    标签: java spring hsqldb


    【解决方案1】:

    我假设您正在使用 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 运行的服务器上。

    【讨论】:

      【解决方案2】:

      您不需要明确启动它。如果你配置连接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>
      

      【讨论】:

      • 嗯,也许我有点不清楚。我不是在问如何启动数据库本身,我已经这样做了。我想知道如何启动数据库管理器,以便我可以浏览我的表等。
      • 你为什么不创建一个脚本来随时执行管理器呢? (操作系统启动,或在脚本中包含 IDE 的启动等)
      【解决方案3】:

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

      我相信基于 ant 的项目也有类似的解决方案

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-18
        相关资源
        最近更新 更多