1. Interfaces comuns:
1. Interface de trabalho: Existe apenas um método para esta interface
Execute void (contexto JobExecutionContext)
O desenvolvedor implementa essa interface para definir as tarefas que precisam ser executadas. A classe JobExecutionContext fornece várias informações sobre o contexto de agendamento.
2. JobDetail: Usado para descrever as classes de implementação de emprego e algumas outras informações estáticas
3. Trigger: Descreva as regras de gatilho do tempo para desencadear a execução do emprego
4. Calendário: define um espaço de tempo que pode (ou impossível) gatilhos em associação com o gatilho. Ele não define o tempo real do gatilho, mas é usado quando o cronograma normal precisa limitar o gatilho. A maioria dos calendários contém o tempo todo por padrão, e o usuário exclui algum tempo.
5. Agendador: Execute o contêiner e use o SchedulerFactory para criar uma instância do agendador
2. Exemplo de código:
1. Ao usar o quartzo, você precisa implementar a interface de emprego;
classe pública TestJob implementa o trabalho {public void Execute (contexto JobExecutionContext) lança JobExecutionException {System.out.println ("Hello World! -" + New Date ()); // Faça mais ...}}2. Agenda [é relativamente simples, basta olhar para o código]
classe pública quartztest {public static void main (string args []) lança schedulerexception, parseException {jobDetail jobDetail = jobbuilder.newjob (testjob.class) .withidentity ("testjob_1", "group_1") .build (); Trigger Trigger = TriggerBuilder .NewTrigger () .WithIdentity ("Trigger_1", "Group_1") .StartNow () .WithSchedule (SimplesCheduleBuilder.SimplesChedule () .WithinterValInsEconds (10) // interval.withRepeTCount () (5) ///) de tempo (10) //) e). .construir(); SchedulerFactory sf = new stdschedulerFactory (); Agendador cronograma = sf.getScheduler (); sched.scheduleJob (JobDetail, Trigger); sched.start (); }}Aqui está a versão 2.2.1, consulte os exemplos da documentação oficial. Vi que alguns livros de referência são usados em versões mais antigas, então existem algumas diferenças. Muitos métodos foram preteridos, por isso é mais realista ler os documentos diretamente. O endereço oficial do site do Quartz é: http://www.quartz-scheduler.org/
Iii. Exemplo de arquivo de configuração quartz2.2.1
# Arquivo de propriedades padrão para uso por stdschedulerFactory# para criar uma instância do agendador de quartzo, se um arquivo# Propriedades diferente não for explicitamente especificado. falseorg.quartz.scheduler.rmi.proxy: falseorg.quartz.scheduler.wrapjobexecutionInUserTransaction: false org.quartz.threadpool.class: org.quartz.simpl.simCreadTeadPool.Quartzl: 10org.Quartz.threadpool.threadpriority: 5org.Quartz.threadpool.threadsHeritContextClassLoadeRofinitializingThread: true org.quartz.jobstore.misfirethshold: 60000 # ============================================================================= # # Configure JobStore#============================================================================================================= #Default Configuração, salve os dados na memória#org.quartz.jobstore.class: org.quartz.simpl.ramjobstore#Configuração permanente org.quartz.jobStore.class:org.quartz.impl.jdbcjobstore.JobStoreTXorg.quartz.jobStore.driverDelegateClass:org.quartz.impl.jdbcjobstore.StdJDBCDelegateorg.quartz.jobStore.useProperties:true#Database table prefix org.quartz.jobstore.tableprefix: qrtz_org.quartz.jobstore.datasource: qzds #=============================================================================== ================================================================================ Configure Datasources#====================================================================================================#JDBC driver org.quartz.datasource.qzds.driver: com.mysql.jdbc.driverorg.quartz.datasour ce.qzds.url: jdbc: mysql: // localhost: 3306/quartzdborg.quartz.datasource.qzds.user: rotorg.quartz.datasource.qzds.password: 123456oronnoronn
4. Relacionado ao banco de dados
A persistência requer a criação de tabelas de dados de quartzo no banco de dados correspondente com antecedência. No pacote de liberação de quartzo, o DOCS/DBTables possui scripts SQL correspondentes a diferentes bancos de dados.
Por exemplo, aqui está o MySQL:
Tabela de dados Explicação de campo: