Springboot Use o método de uso do timer adicione @Scheduled Anotation para projetar parâmetros CRON
pacote com.clsystem.comm; importar org.springframework.scheduling.annotation.scheduled;/** * Criado por pudim em 2017-11-10. (Tarefa de tempo de check-in) */ @componentPublic class "" 0,Scock) 0,0) // lógica de negócios}}
A implementação do timer dinâmico também é muito simples de herdar o método de implementação da classe SchedulingConfigurer.
pacote com.clsystem.comm; import com.clsystem.util.dateutil; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.scheduling.trigger; importar org.springframework.scheduling.triggerConten; org.springframework.scheduling.annotation.schedulingConfigurer; importar org.springframework.scheduling.config.scheduledTaskRegistrar; importentn; java.util.calendar; importar java.util.date;/*** Criado por pudim em 2017-11-15. (O timer dinâmico é usado para empurrar mensagens 10 minutos antes do check-in) (! Despertador) */ @ComponentPublic Class DynamicScheduledTask implementa SchedulingConfigurer {@AUTOWIRED PRIVADO CHECKSYSTEMAPPER CHECKSYSTEMAPPER; @Override public void ConfigureTasks (ScheduledTaskRegistrar TaskRegistrar) {TaskRegistrar.addtrigGerTask (new Runnable () {@Override public void run () {// Business Logic System.out.println ("REMIND-INC-INCIM); triggerContext) {// Defina o próximo timer dia inteiro = dateutil.getday (); // Obtenha o dia da semana de hoje+= 1; // obtém o dia da semana de amanhã se (dia == 8) {// exclate o domingo = 1; Inteiro BeforemornTimeHour = Integer.ParseInt (Morntime.substring (0, J)); // Obtenha tempo de trabalho matinal inteiro beforemorntimeminute = Integer.parseInt (MornTime.Substring (J+1, MornTime.Length ()); DATA.SETMINUTOS (BEFOREMORTEMIVENTE); minuto = cal.get (calendário.Minute); // Stack String cron = "0"+minuto+""+hora " *" "+dia" ""; Trigger.nextexecutionTime (TriggerContext); }}Uso básico dos parâmetros CRON:
● Asterisk (): pode ser usado em todos os campos para representar cada momento no domínio do tempo correspondente, por exemplo, no campo minuto, significa "por minuto";
● Marco de interrogação (?): Esse personagem é usado apenas nos campos de data e semana e geralmente é especificado como um "valor sem sentido", equivalente a um caractere de pontos;
● Sign de menos (-): expresse um intervalo. Se "10-12" for usado no campo da hora, significa de 10 a 12 pontos, ou seja, 10, 11, 12;
● vírgula (,): expresse um valor de lista. Se você usa "Mon, Qua, Sex" no campo da semana, significa segunda, quarta e sexta -feira;
● Slash (/): x/y representa uma sequência de etapa igual, x é o valor inicial e y é o valor da etapa incremental. Se você usar 0/15 no campo minuto, ele será expresso como 0, 15, 30 e 45 segundos, enquanto 5/15 significa 5, 20, 35, 50 no campo minuto, você também pode usar */y, que é equivalente a 0/y;
● L: esse personagem é usado apenas nos campos de data e semana, representando o significado de "último", mas significa de maneira diferente nos dois campos. L No campo Data, indica o último dia do mês, como 31 de janeiro e 28 de fevereiro, que não é o ano bissexto; Se L for usado na semana, indica sábado, que é equivalente a 7. No entanto, se L aparecer no campo da semana e for precedido por um valor x, significa "os últimos x dias do mês", por exemplo, 6L significa a última sexta -feira do mês;
● W: esse personagem só pode aparecer no campo Data e é uma modificação da data líder, indicando o dia útil mais próximo da data. Por exemplo, 15W representa o dia útil mais próximo até o dia 15 do mês. Se o dia 15 do mês for sábado, corresponde à sexta -feira 14; Se o dia 15 do mês é domingo, corresponde à segunda -feira 16; Se o dia 15 do mês é terça -feira, é terça -feira o dia 15. No entanto, deve -se notar que a data de correspondência associada não pode ser atravessada para o mês. Se você especificar 1W, se o 1º dia for sábado, o resultado corresponde à segunda -feira 3, não no último dia do último mês. Uma string w pode especificar apenas uma única data, mas não pode especificar um intervalo de data;
● Combinação LW: LW pode ser usado no campo Data, o que significa o último dia útil do mês;
● Sinal -chave (#): esse personagem só pode ser usado no campo da semana e representa um dia útil do mês. Por exemplo, 6#3 representa a terceira sexta -feira do mês (6 representa sexta -feira,#3 representa o terceiro no momento), enquanto 4#5 representa a quinta quarta -feira do mês, assumindo que o mês não tem a quinta quarta -feira, é ignorado e não acionado;
● C: Esse personagem é usado apenas nos campos de data e semana, representando o significado de "calendário". Isso significa a data associada ao plano e, se a data não estiver associada, é equivalente a todas as datas no calendário. Por exemplo, 5C no campo Data é equivalente ao primeiro dia após o 5º dia do calendário. 1C é equivalente ao primeiro dia após domingo da semana.
As expressões Cron não são sensíveis ao caso de caracteres especiais e não são sensíveis à abreviação do caso em inglês da semana.
A Tabela 2 mostra alguns exemplos de representações completas de Cron abaixo:
A expressão de Cron significa "0 0 12 * *?" Gatilho "0 15 10? * *" Trigger "0 15 10 * *?" Gatilho "0 15 10 * *?" Gatilho "0 15 10 * *? *" Trigger "0 15 10 * *? *" Trigger "0 15 10 * *? 2005" Trigger "0 * 14 * *?" Gatilho "0 0/5 14 * *?" Gatilho "0 0/5 14 * *?" Gatilho "0 0/5 14,18 * *?" Gatilho "0 0/5 14,18 *?" Gatilho "0 0/5 14,18 *?" 0 0-5 14 * *? " A cada 5 minutos, das 14:00 às 14:05, todos os dias acionam "0 10,44 14? 3 Qua "Toda quarta -feira em março gatilhos" 0 15 10? * Seg-Fri "Toda segunda-feira, terça, quarta, quinta e sexta-feira.
Resumir
O exposto acima é o uso do timer dinâmico do Springboot apresentado pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!