首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JavaFX桌面应用程序设置SpringBoot以共享局域网上的数据库

如何使用JavaFX桌面应用程序设置SpringBoot以共享局域网上的数据库
EN

Stack Overflow用户
提问于 2022-03-22 04:33:04
回答 1查看 240关注 0票数 0

我有一个使用JavaFx和springboot构建的库存管理应用程序,它最初构建为使用hsqldb作为独立运行。现在,我想升级它,以便两个或多个系统可以在局域网环境中共享相同的数据库。当我通过wifi连接两个系统时,我可以从另一个连接的计算机上运行应用程序,但是在创建记录之后,它并没有反映到另一个系统上。请问我该怎么做?我需要使用mysql而不是hsqldb吗?下面是我的application.yml文件配置。散列的行是独立版本的前面设置,我已经重新定义了hsql设置以使用网络路径,如所示(\PC001\ims_compiled\shared_hsqldb\hsqldb)。

请提供任何帮助,不胜感激。

代码语言:javascript
复制
app:
  fixedDelay: 300000
  fixedRate: 1200000
  localLogin: true
debug: true
hsql:
  parameters: hsqldb.lock_file=false;createDatabaseIfNotExist=true;DB_CLOSE_DELAY=-1;shutdown=true;hsqldb.write_delay=false;hsqldb.write_delay_millis=100
log4j:
  logger:
    org:
      hibernate:
        transaction: ERROR
      springframework:
        transaction: ERROR
logging:
  config: logback.xml
  level:
    com:
      zaxxer:
        hikari:
          HikariConfig: ERROR
    org:
      hibernate:
        SQL: ERROR
        type:
          descriptor:
            sql:
              BasicBinder: ERROR
mysql-base:
  datasource:
    DB: ikooba_db
    host: 34.244.38.76
    jdbc-url: jdbc:mysql://${mysql-base.datasource.host}:${mysql-base.datasource.port}/${mysql-base.datasource.DB}?${mysql-base.datasource.parameters}
    parameters: serverTimezone=UTC&useSSL=FALSE&autoReconnect=true&sessionVariables=sql_mode=''
    password: 'gsjgsgssshj'
    port: 3306
    username: sfgsdsfdfs
sentry:
  dsn: https://shfs6765676757shsvvs@errors.xxxxxxxx.com/6
  enabled: true
  stacktrace:
    app:
      packages: com.ikooba.desktop.ims
spring:
  datasource:
    hikari:
      auto-commit: true
#      jdbcUrl: jdbc:hsqldb:hsqldb/userDB;${hsql.parameters}
      jdbcUrl: jdbc:hsqldb:\\PC001\ims_compiled\shared_hsqldb\hsqldb/userDB;${hsql.parameters}

    password: ''
    username: sa
  jpa:
    hibernate:
      ddl-auto: update
      use-new-id-generator-mappings: true
    properties:
      hibernate:
        enable_lazy_load_no_trans: true
        jdbc:
          batch_size: 120
        order_inserts: true
        search:
          default:
            directory_provider: filesystem
#            indexBase: hsqldb/lucence/indexes
            indexBase: \\PC001\ims_compiled\shared_hsqldb\hsqldb/lucence/indexes
            indexwriter:
              infostream: true
          generate_statistics: true
          jmx_enabled: true
          lucene_version: LATEST
      javax:
        persistence:
          validation:
            mode: none
  main:
    allow-bean-definition-overriding: true
    lazy-initialization: true
EN

回答 1

Stack Overflow用户

发布于 2022-03-22 18:31:57

在PC001上安装一个HSQLDB服务器,并从不同的机器连接到它。

第15章. http://hsqldb.org/doc/2.0/guide/listeners-chapt.html#lsc_hsql_server

为了简单起见,按照描述创建一个server.properties file。在此文件中,下面的属性设置应反映数据库的名称、路径和启动属性。例如:

代码语言:javascript
复制
 server.database.0=file:\\PC001\ims_compiled\shared_hsqldb\hsqldb/userDB;hsqldb.write_delay_millis=100

您在hsql.parameters中使用的其他参数是不必要的(例如,hsqldb.lock_file、关机)。有关有效属性,请参见http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html (但您可能不需要它们)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71566945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档