Весенняя загрузка данных загрузки в sql перед запуском api - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь реализовать кварцевый планировщик для планирования электронной почты. Итак, все настроено, но главная проблема - свалка кварцевых триггеров. После загрузки скрипта для postgre я вручную запускаю его из терминала, используя '\ i path to scrpt'. Я хочу, чтобы весна автоматически запускала этот скрипт при запуске api.

Я пытаюсь скопировать этот скрипт в ресурсы и изменить некоторые свойства, но пока ничего не работает

# Hibernate properties
    spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
    spring.jpa.show-sql=false
    spring.jpa.properties.hibernate.format_sql=true
    spring.jpa.hibernate.ddl-auto= update
    spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation = false

    # QuartzProperties
    spring.quartz.job-store-type = jdbc
    org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
    spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
    #spring.quartz.jdbc.schema=classpath:org/quartz/impl/jdbcjobstore/tables_postgres.sql
    org.quartz.jobStore.dataSource = default
    spring.quartz.properties.org.quartz.threadPool.threadCount = 5

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Решено, добавьте prop: spring.datasource.initialization-mode = всегда.Мне нужно выполнять работу только один раз и в определенное время, поэтому мне нужно использовать кварц.

0 голосов
/ 24 апреля 2019

если вы используете весеннюю загрузку, вы можете использовать @EnableScheduling для своего класса Application следующим образом:

@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args){
    SpringApplication.run(Application.class, args); 
}

}

Затем вы можете использовать @Scheduled в ваших классных заданиях, например: @Составная часть открытый класс MyJob {

    @Scheduled(fixedDelay= 1000 * 60 * 24)
    public void execute() {
       System.out.println("Your job here!");
    }
}

если вы хотите задержку при запуске, используйте initialDelay.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...