SpringBoot Use el método de uso del temporizador Agregar anotación @scheduled para diseñar parámetros cron
paquete com.clsystem.comm; import org.springframework.scheduling.annotation.scheduled;/** * creado por pudín en 2017-11-10. (Tarea de sincronización de registro de registro de check-in) */ @ComponentPublic Class Clocktiming {/** * temporizador */@Scheduled (Cron = "0 0 * * *?") lógica}}La implementación del temporizador dinámico también es muy simple de heredar el método de implementación de la clase ProchulingConfigurer.
paquete com.clsystem.comm; import com.clsystem.util.dateutil; import org.springframework.beans.factory.annotation.aUtowired; import org.springframework.scheduling.trigger; import org.springframework.scheduling.triggercontext; import org. java.util.calendar; import java.util.date;/*** creado por Pudding el 2017-11-15. (El temporizador dinámico se usa para impulsar los mensajes 10 minutos antes del check-in) (! Clock de alarma) */ @ComponentPublic DynamicsCheduledTask implementa ProgramingConfigurer {@AUTOWIREDIRDIRIRIRD CHECKSYSTEMMAPPER CHECKSYSTEMMAPPER; @Override public void ConfigureTasks (scheduledTaskRegistrar tareasgistrar) {taskregistrar.addtriggTtask (new runnable () {@Override public void run () {// Business Logic System.out.println ("Reminder Check-in");}}, new TRAGGRI {// Establezca el siguiente temporizador entero day = dateUtil.getday (); // Obtener el día de la semana de hoy+= 1; // Obtener el día de la semana de mañana if (day == 8) {// Excluir el domingo Day = 1 1 BeforemornTimeHour = Integer.ParseInt (Morntime.substring (0, j)); // Obtener tiempo de trabajo matutino Integer BeforemorntimeMinute = Integer.ParseInt (Morntime.substring (J+1, Morntime.length ()); // Obtenga la fecha de tiempo de trabajo de la mañana = NEW DET (); date.setMinutes (BeforemornTimeminute); minuto = cal.get (calendar.minute); // stack string cron = "0"+minuto+"+hora+" * * "+día+" "; Trigger.NextExecutionTime (TriggerContext); }}Uso básico de parámetros cron:
● Asterisk (): se puede usar en todos los campos para representar cada momento en el dominio de tiempo correspondiente, por ejemplo, en el campo de minuto, significa "por minuto";
● Marque de interrogación (?): Este personaje solo se usa en los campos de la fecha y la semana, y generalmente se especifica como un "valor sin sentido", equivalente a un carácter de puntos;
● Mínimo signo (-): exprese un rango. Si se usa "10-12" en el campo de la hora, significa de 10 a 12 puntos, es decir, 10, 11, 12;
● Coma (,): exprese un valor de lista. Si usa "Mon, Wed, Vie" en el campo de la semana, significa lunes, miércoles y viernes;
● Slash (/): X/Y representa una secuencia de igual paso, x es el valor inicial e y es el valor de paso incremental. Si usa 0/15 en el campo de minuto, se expresa como 0, 15, 30 y 45 segundos, mientras que 5/15 significa 5, 20, 35, 50 en el campo de minuto, también puede usar */y, que es equivalente a 0/y;
● L: Este personaje solo se usa en los campos de fecha y semana, lo que representa el significado de "último", pero significa de manera diferente en los dos campos. L En el campo de la fecha indica el último día del mes, como el 31 de enero y el 28 de febrero, que no es un año salto; Si L se usa en la semana, indica el sábado, que es equivalente a 7. Sin embargo, si L aparece en el campo de la semana y está precedido por un valor X, significa "los últimos x días del mes", por ejemplo, 6L significa el último viernes del mes;
● W: Este personaje solo puede aparecer en el campo de la fecha, y es una modificación de la fecha principal, lo que indica la jornada laboral más cercana a la fecha. Por ejemplo, 15W representa el día de trabajo más cercano al 15 del mes. Si el 15 del mes es el sábado, coincide el viernes 14; Si el 15 del mes es el domingo, coincide el lunes 16; Si el 15 del mes es el martes, es el martes 15. Sin embargo, debe tenerse en cuenta que la fecha de correspondencia asociada no se puede cruzar al mes. Si especifica 1W, si el primer día es el sábado, el resultado coincide el lunes 3, no el último día del último mes. Una cadena W solo puede especificar una sola fecha, pero no puede especificar un rango de fecha;
● Combinación LW: LW se puede usar en el campo de fecha, lo que significa el último día hábil del mes;
● Señal clave (#): este personaje solo se puede usar en el campo de la semana y representa un día de trabajo del mes. Por ejemplo, 6#3 representa el tercer viernes del mes (6 representa el viernes,#3 representa el tercero en este momento), mientras que 4#5 representa el quinto miércoles del mes, suponiendo que el mes no tiene el quinto miércoles, se ignora y no se desencadena;
● C: Este personaje solo se usa en los campos de la fecha y la semana, lo que representa el significado del "calendario". Significa la fecha asociada con el plan, y si la fecha no está asociada, es equivalente a todas las fechas en el calendario. Por ejemplo, 5C en el campo de la fecha es equivalente al primer día después del quinto día del calendario. 1C es equivalente al primer día después del domingo en el campo de la semana.
Las expresiones cron no son sensibles al caso de los caracteres especiales y no son sensibles a la abreviatura del caso inglés de la semana.
La Tabla 2 muestra algunos ejemplos de representaciones completas de Cron a continuación:
La expresión cron significa "0 0 12 * *?" Disparador "0 15 10? * *" Disparador "0 15 10 * *?" Disparador "0 15 10 * *?" Disparador "0 15 10 * *? *" Disparador "0 15 10 * *? *" Disparador "0 15 10 * *? 2005" disparador "0 * 14 * *?" Disparador "0 0/5 14 * *?" Disparador "0 0/5 14 * *?" Disparador "0 0/5 14,18 * *?" Disparador "0 0/5 14,18 *?" Disparador "0 0/5 14,18 *?" 0 0-5 14 * *? " Cada 5 minutos de 2:00 a 14:05 todos los días desencadena "0 10,44 14? 3 el miércoles "todos los miércoles de marzo desencadenan" 0 15 10? * Lunes a viernes "todos los lunes, martes, miércoles, jueves y viernes.
Resumir
Lo anterior es el uso del temporizador dinámico SpringBoot introducido por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!