#java #spring #spring-boot #quartz-scheduler
#java #spring #spring-загрузка #quartz-планировщик
Вопрос:
Я использую quartz с загрузкой spring. Я хочу использовать собственный скрипт БД для создания таблиц quartz во время запуска. Я сгенерировал файл tables_postgresql.sql и поместил его в src/main/resources. В application.properties я присваиваю значение
spring .quartz.jdbc.schema = tables_postgresql.sql.
Но он не распознается во время запуска. Не могли бы вы помочь мне, как использовать этот файл sql во время statrt up?
С уважением, Стефан
Комментарии:
1. Я также пробовал это с spring. quartz.jdbc.schema = путь к классу: /tables_postgresql.sql. (согласно документации: docs.spring.io/spring-boot/docs/2.0.x/reference/html /… ). Но это не работает.
2. Есть ли у вас другие свойства, такие как spring. quartz.job-store-type= jdbc и spring . quartz.jdbc.initialize-schema=всегда?
3. Кроме того, у меня есть следующие настройки: spring. quartz.job-store-type=jdbc spring. quartz.jdbc.initialize-schema= всегда spring . quartz.jdbc.comment-prefix=# я также изменил настройки файла схемы на spring. quartz.jdbc.schema =classpath:sql/quartz_tables.sql Но это дает исключение :
4. Вызвано: org.springframework.jdbc.datasource.init. CannotReadScriptException: не удается прочитать SQL-скрипт из ресурса пути к классу [sql / quartz_tables.sql]; вложенным исключением является java.io.FileNotFoundException: ресурс пути к классу [sql /quartz_tables.sql] не может быть открыт, поскольку он не существует . Я также изменил: classpath: quartz_tables.sql , /quartz_tables.sql , quartz_tables.sql , classpath: ресурсы/quartz_tables.sql . Но не повезло. Не могли бы вы помочь мне дальше?
Ответ №1:
Немного поздно, я надеюсь, что это поможет другим…
Я создал файл (который содержит инструкции create tables / idx):
src/main/resources/quartz.sql
И я настроил application.properties
так:
spring.quartz.jdbc.schema=classpath:quartz.sql
поскольку файл находится в папке «ресурсы», в нем не должно быть «/» (косой черты) или пробелов.