База данных HyperSQL в Tomcat удаляется после перезагрузки Linux - PullRequest
0 голосов
/ 21 октября 2019

Я использую HyperSQL в качестве базы данных для моего приложения Tomcat. Сервер базы данных запущен из моего приложения, а расположение файлов находится в папке webapps / myapp.

Проблема в том, что после перезапуска Linux (Centos 7) база данных каким-то образом конфликтует и база данных воссоздается (вседанные удалены). Если я перезапускаю только Tomcat, все работает нормально.

Мой tomcat.service:

[Unit]
Description=Tomcat 8.5 servlet container
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target

Папка базы данных имеет полные права на создание и удаление, а группа и владелец - пользователь tomcat.

Сервер HSQL запускается, когда запускается мое приложение, и для работы с базой данных я использую Hibernate:

    Properties properties = new Properties();
    properties.setProperty(Environment.DRIVER, "org.hsqldb.jdbcDriver");
    properties.setProperty(Environment.URL, "jdbc:hsqldb:hsql://localhost:9001/my_repository"); 
    properties.setProperty(Environment.USER, xxx);
    properties.setProperty(Environment.PASS, yyy);
    properties.setProperty(Environment.DIALECT, "org.hibernate.dialect.HSQLDialect");
    properties.setProperty(Environment.HBM2DDL_AUTO, "update");

Что может быть не так? Почему данные всегда удаляются после перезагрузки ПК?

Спасибо за любой ответ.

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте изменить свойство "HBM2DDL_AUTO" для проверки или даже удалить его.
Это свойство отвечает за "Автоматическое создание схемы".
Здесь вы можете найти другие значения или информацию

...