O processo de configuração de quartzo na primavera:
1. Pacote de jar de importação
O pacote JAR exigido pelo Quartz já está incluído na primavera, localizado no quartzo-tudo-1.6.1.Jar Under /lib /quartzo no diretório após a descompressão da primavera.
Basta copiá-lo para o web-inf/lib do projeto.
2. Configure web.xml para carregar o arquivo de configuração de quartzo quando a mola iniciar
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xmls/javaee/web-web-web-23 <MARAM-NAME> contextConfigLocation </param-name> <amam-value> ClassPath: Application-*. Xml </param-value> </context-param> <!-Spring Hearing-> <Ilvinteer> <lister-class> Org.springframework.web.context.ContextLoadeRlistner </irgflust-clonderframework.
3. Escreva Arquivo de Configuração de Quartz: Application- Quartz.xml De fato, essas configurações podem ser gravadas em outros arquivos de configuração da primavera.
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframwork.org/schemaop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!-- Task Entity--> <bean id = "testTaskBean" /> <!-Método de tarefa de política de atualização cronometrada-> <bean id = "testTasktimermethod"> <propriedade name = "TargetObject" ref = "testTaskBean" /> <!-TargetMethod Nome do método para configurar o tempo Execution-> <nome da propriedade = "TargetMethod"). </ Bean> <!-Atualização cronometrada Política de atualização Trigger-> <bean id = "testTasktrigger"> <propriedade name = "jobDetail" ref = "syncpolicyTasktimermethod"/> <!-Execute a cada 3 minutos de 0th segundo-> <nome da propriedade "Cronexpressão" = "" 0/3 * * *? " /> </ Bean> <!-Lista de tarefas personalizadas-> <bean id = "scheduler"> <propriedade name = "gatilhos"> <list> <ref bean = "testTaskTrigger"/> </list> </ferirs> </bean> </ Beans>
4. Escreva uma fase de teste de classe Java que execute tarefas
pacote com.jp.task; importar org.quartz.jobexecutionContext; importar org.quartz.jobexecutionException; importar org.springframework.scheduling.quartz.quartzjobbean; classe pública testTask estende o quartzjobbean {logger log = logger.getLogger (policyServicetest.class); public void execution () {Log.info ("Hello Quartz"); } @Override Protected void ExecuteInternal (JobExecutionContext arg0) lança JobExecutionException {}} 5. Todo o trabalho está pronto e corra. Basicamente, foi relatado um erro. É sobre um erro de noschmethod.
Isso se deve à versão baixa do Commons-Collections.Jar. Precisa que o Commons-Collections-3.2.Jar ou acima.
Neste momento, você está procurando um Commons-Collections-3.2.Jar no projeto. O que está acontecendo? Se você procurar novamente, descobrirá que existe uma coleção Commons-2.1.1.jar em Hibernate.
Basta excluir o Commons-Collections-2.1.1.jar.
PS: Cronexpression-descrição da expressão de CRON
O gatilho Cron utiliza uma série de caracteres especiais, como mostrado abaixo:
O caractere de barra de barragem (/) indica o valor incremental. Por exemplo, no campo segundos "5/15" significa a partir do quinto segundo, uma vez a cada 15 segundos.
Os caracteres do ponto de interrogação (?) E os caracteres da letra L estão disponíveis apenas na data do mês e na data da semana. Um ponto de interrogação indica que esse campo não contém valores específicos. Portanto, se você especificar uma data dentro de um mês, poderá inserir "?" Na data dentro de uma semana, indicar que o valor da data dentro de uma semana não importa. O caráter da letra L é a abreviação de Last. Coloque -o no campo Intramontth Data, o que significa que ele está programado para ser executado no último dia do mês. No campo da data do intrawek, se "L" existir sozinho, é igual a "7", caso contrário, representa a última instância da data intrawek no mês. Portanto, "0L" significa que está programado para ser executado no último domingo do mês.
O caractere da letra (w) no campo Data dentro de um mês de execução de agendas para o dia útil mais próximo do valor especificado. Colocar "1W" no campo Data do mês significa que a execução está agendada no primeiro dia útil do mês.
O caractere de sinal de libra (#) especifica uma instância específica do dia útil para um determinado mês. Colocar "Seg#2" no campo Data Intraweek significa agendar a tarefa na segunda segunda -feira do mês.
O caractere de asterisco (*) é um caractere curinga que significa que o campo pode aceitar quaisquer valores possíveis.
Caracteres especiais permitidos por valores permitidos de campo:
0-59 segundos, - * /
0-59, - * /
Horário 0-23, - * /
Data 1-31, - *? / Lwc
Meses 1-12 ou janeiro-dezembro,- * /
Semana 1-7 ou Sol-Sáb,- *? / LC #
Ano (opcional) deixar em branco, 1970-2099, - * /
Significado de expressão
"0 0 12 * *?" Acionado às 12h todos os dias
"0 15 10? * *" Aparecido às 10:15 todos os dias
"0 15 10 * *?" Acionado às 10h15 todos os dias
"0 15 10 * *? *" Gatido todos os dias às 10:15
"0 15 10 * *? 2005" desencadeado às 10h15 todos os dias em 2005
"0 * 14 * *?" gatilhos a cada 1 minuto entre 14h e 14h59
"0 0/5 14 * *?" Acionado a cada 5 minutos entre 14h e 14h55 todos os dias
"0 0/5 14,18 * *?" Acionado a cada 5 minutos entre 14:55 e entre 18:55 e entre 18:55 e a cada 5 minutos entre
"0 0-5 14 * *?" Acionado a cada 1 minuto entre 14h e 14h05 todos os dias
"0 10,44 14? 3 Wed" gatilhos toda quarta -feira às 14:10 e 14:44
"0 15 10? * Seg-Fri" desencadeado das 10h15 de segunda a sexta-feira
"0 15 10 15 *?" Acionado às 10h15 no dia 15 de cada mês
"0 15 10 L *?" Acionado às 10h15 no último dia de cada mês
"0 15 10? * 6L" desencadeado às 10h15 na última sexta -feira de cada mês
"0 15 10? * 6L 2002-2005" acionado às 10:15 da última sexta-feira de cada mês de 2002 a 2005
"0 15 10? * 6#3" desencadeia todos os dias às 10:15 na terceira sexta -feira de cada mês às 6 da manhã
0 6 * * *
A cada duas horas
0 */2 * * *
A cada duas horas entre 23:00 e 8h, 8h
0 23-7/2, 8 * * *
No dia 4 de cada mês e de segunda a quarta -feira toda semana às 11h.
0 11 4 * 1-3
1 de janeiro às 4 da manhã.
0 4 1 1 *