Este artículo comparte una simple introducción a JCrontab para su referencia. El contenido específico es el siguiente
Crear un proyecto Javaweb
1. Primero, debe descargar el paquete JAR relevante de JCrontab, JCRONTAB-2.0-RC0.JAR. Ponlo en la carpeta LIB.
2. Cree un nuevo archivo JCrontab.Properties en SRC de la siguiente manera:
#crontab.xml
El directorio del archivo, esta es la regla de programación de trabajo
org.jcrontab.data.file = e: /eclipseworkspace/ademo/webcontent/webinf/crontab.xml
#Tipo de controlador de análisis de Sax
org.xml.sax.driver = org.apache.xerces.parsers.saxparser
#Tipo de archivo de DataSource
org.jcrontab.data.dataSource = org.jcrontab.data.xmlSource
3. Cree un nuevo archivo crontab.xml en Web-INF
<? xml versión = "1.0" encoding = "utf-8"?> <rontab> <crontabentry id = "2014"> <Seconds> 0,5,10,15,20,25,30,35,40,45,50,50,55 </econdos> <intones>*</onminas> <roo-**</ores> <sayesOfmonth>*</díasfonth> <sess>*</sess> <daysoek>*</daysofweek> Ays> True </ Bussinesdays> <StartDate> </startdate> <detdate> </ddate> <classe> xu.crontab.crontab1 </class> <sethod> run </setmet> <parámetros> </marreters> <scription> </crontabentry> </crontab>
Tome los atributos anteriores en Baidu usted mismo. <segundos> 0,5,10,15,20,25,30,35,40,45,50,55 </segundo> Este es un múltiplo del segundo número de 5 y llama al trabajo.
4. La configuración web.xml es la siguiente
<? xml versión = "1.0" encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http: //xmlns.j cp.org/xml/ns/javaee"xsi:schemalocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaeeeeee <Servlet> <Servlet-name> loadonstartupservlet </servlet-name> <ervlet-class> xu.crontab.loadCrontabServlet </servlet-class> <init-param> <amamname> propiedades_file </param-name> <! src/jCrontab.Properties </param-value> </init-param> <load-on-startup> 1 </load-on-startup> </servlet> <ervlet-mapping> <ervlet-name> loadonstartupservlet </servlet-name> <url-pattern>/startup </url-pattern> </servlet-papping> </web-appap-papping>
5. Cree dos nuevos archivos Java en el paquete Xu.Crontab (consulte la captura de pantalla superior de la ubicación del archivo) [No importa otros archivos Java]
LoadCrontabServlet.java
Paquete Xu.Crontab; import java.io.fileInputStream; import java.io.ioException; import java.io.inputstream; import java.util.enumeration; import java.util.properties; import javax.servlet.servletConfig; import javax.servlet.servletexception; import javax.servlet.servlet org.jcrontab.crontab; import org.jcrontab.log.log; public class LoadCrontabServlet extiende httpservlet { /** * * /private static final long serialversionUid = 1l; private crontab cron = null; public void init (servletconfig config) lanza ServletException {super.init (config); Pruebe {System.out.print ("Working? ..."); Process (); System.out.println ("OK");} Catch (Exception e) {Throw New ServLetException (e);}} protegido InputStream CreatePrepertiesStream (name de cadena) tira IOException {return New FileStream (name);} Public Void Process () {String PROPZ = "JCrontab.Properties"; String props = getServletConfig (). GetInitParameter ("Properties_file"); if (props == null) {props = propz;} propiedades propobj = new Properties (); try {inputStream input = CreatePropertiesStream (props); propobj.load (input);} catch (IOException IOE) {IOE.PrintStackTraCe ();} Servfig c = GetServletConfig (); c.getInitParamTernames (); while (keys.hasmoreelements ()) {string key = (string) keys.nextelement (); propobj.setProperty (key, c.getInitParameter (key));} cron = crontab.getInstance (); try {shutdownhook (); cron.init (propobj);} catch (excepción e) {log.error (e.ToString (), e);}} public void shutdownhook () lanza excepción {runtime.getRuntime (). addShutdown (new Thread () {public void run () {dostop ();}});}; {dostop ();} public void dostop () {log.info ("apagado ..."); cron.uninit (100); log.info ("detenido");}} Crontab1.java
Paquete Xu.Crontab; import java.util.date; clase pública crontab1 {public static void run (String [] args) {System.out.println (new Date ()+"-----> ¡Hello World!"); }}Después de comenzar Tomcat, puede ver que el trabajo se llama cada 5 segundos. Espero que tengas éxito.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.