【问题标题】:Prevent spring-boot-devtools from shutting down HSQL (server mode)防止 spring-boot-devtools 关闭 HSQL(服务器模式)
【发布时间】:2017-08-14 15:32:08
【问题描述】:

我在服务器模式下将 Spring Boot 1.3.8.RELEASE 和 spring-boot-devtools 与 HSQL 一起使用:

spring.datasource.url=jdbc:hsqldb:hsql://localhost/dbname

不幸的是,当应用程序退出(或应用程序上下文被刷新)时,spring-boot-devtools 似乎是SHUTDOWN 数据库服务器。有没有可能防止这种情况发生?

【问题讨论】:

    标签: spring-boot hsqldb


    【解决方案1】:

    这是由 Spring Boot v1.4.6.RELEASE 中修复的 spring-boot-devtools 中的 bug 引起的。

    【讨论】:

      【解决方案2】:

      您是否将 hsqldb 服务器与您的 Spring Boot 应用程序分开运行?

      我有类似的设置。我首先使用类似...的命令启动 hsqldb 服务器

      java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:c:\temp\hsqldbserver --dbname.0 ops
      

      然后在我的 spring boot application.yml 中,我的数据源配置如下...

      spring:
        datasource: 
          driver-class-name: org.hsqldb.jdbcDriver
          url: jdbc:hsqldb:hsql://localhost/ops
          username: SA
          password:   
      

      关闭 spring boot 应该不会对在单独 jvm 中运行的 hsqldb 服务器产生影响。

      【讨论】:

      • 这也是我的设置。所以我挖得更深一点,事实证明,这种不受欢迎的行为似乎是由我也在使用的spring-boot-devtools (in DevToolsDataSourceAutoConfiguration) 引起的。即使打包应用程序并通过java -jar 运行,SHUTDOWN 也会发送到 HSQL 服务器。
      • 执行SHUTDOWN 需要管理员权限。因此,您应该在启动服务器后创建一个非管理员用户并使用这个新用户从 Spring 连接。来自 Spring 的 SHUTDOWN 将失败。
      猜你喜欢
      • 2021-05-18
      • 2019-11-01
      • 2016-10-31
      • 2017-09-20
      • 2018-10-05
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多