Use Spring para integrar quartzo para implementar o timer (projeto Maven para demonstração)
Métodos que não são baseados em classes base específicas
1. Pacotes de ambiente de desenvolvimento e jar de dependência
Primavera 4.2.6. Release
MAVEN 3.3.9
JDK 1.7
Ideia 15.04
2. Uma dependência indispensável de jar (adicionada no arquivo pom.xml no projeto MAVEN)
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency>
3. Arquivos usados ao implementar o timer:
planworkexcute.java - classe executada pelo temporizador
spring-plan.xml --xml para configurar informações do timer
Quarto, implemente as etapas do timer:
1. Crie o arquivo planworkexcute.java, no pacote cc.royao.plantask.
pacote cc.royao.plantask; importar java.text.simpledateFormat; importar java.util.date; importar java.util.hashmap; importar java.util.List; org.apache.log4j.logger; // Você pode excluir a importação org.springframework.beans.factory.annotation.autowired; public class PlanWorkexecute {logger Logger = Logger.getLogger (this.getClass); // Logger de timer/Methodger.GetLogger (this.getclass); retirtawoauditTask () {SimpleDateFormat forFormat = new SimpleDateFormat ("AAAA MM MÊS DDD DATA HH: MM: SS"); System.out.println("Start withdrawal exemption task------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Logger.info ("Inicie a retirada e a isenção da revisão tarefa---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2. Criar arquivo de configuração Spring-plan.xml Nota: Basta criar um arquivo de configuração do timer. Se forem necessários vários temporizadores, basta adicionar feijão no mola-plan.xml e definir o método da classe do temporizador. Não há necessidade de criar vários XML.
・ Para a expressão cron de quanto tempo o timer será executado, consulte: http://www.vevb.com/article/138900.htm
・ O URL para gerar expressões online: http://cron.qqe2.com/
<? xml versão = "1.0" coding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"default-lazy-init="false"><Bean ID = "Job1"/> <!-modificar o caminho para a sua classe de tempo-> <!-você pode criar múltiplos fios de timing-> <! <ref bean = "job1"/> </property> <propriedade name = "TargetMethod"> <Value> retiradauAuditTask </value> <!-nome do método da classe do temporizador-> </techer> </bean> <bean id = "cRontrigger_1"> <names = "jobDetail"> <refr = "DeTaild = Job = Job = "Jobs) <Nome da propriedade = "Cronexpression"> <Value> 0/2 * * * *? </value> <!- 0 10 0 * *? Execute às 0:10 todos os dias-> </ouse> </i bean> <ean> <propriedade name = "gatilhos"> <list> <ref local = "crontrigger_1"/> <!-Todo temporizador adicionado, você também deve adicionar-> </list> </erouse> </ Bean> </ Beans>
3. Você precisa introduzir spring-plan.xml no appoldcontext.xml. O código a seguir se concentra na linha de fundo
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tg/schema http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://wwwwwwwwwwwwwwwwwwwwwwwwww.springframework.org/schema http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.2.xsd "default-lazy-init =" true "> <!-Carregando Propriedades" <list> <Value> web-inf/jdbc.properties </value> <!-<Value> web-inf/sms.properties </value>-> </list> </oilterment> </bean> <bean id = "DataSource"> <nome da propriedade = "Driver"> <Torous> <Torous> <ndbc.niver "> <nome da propriedade =" Driver "> name="defaultAutoCommit" value="false"/>--> <property name="url"> <value>jdbc:mysql://192.168.14.239:3306/test?useUnicode=true&characterEncoding=utf-8</value> </property> <property name="username"> <value>${jdbc.username}</value> </property> <property name="password"> <value>${jdbc.password}</value> </property> <property name="maxActive"> <value>20</value> </property> <property name="maxIdle"> <value>60</value> </property> <property name="maxWait"> <value>20000</value> <!-- 0 --> </property> <property Nome = "Removeabandon"> <Value> true </value> </Property> <propriedade name = "removeabandonedTimeout"> <value> 60000000 </value> <!-180-> </property> <!-add-> <Property Name = "validationQuery" value = "select 1"> </property> <weead) value="true"></property> <property name="testOnBorrow" value="true"></property> <property name="timeBetweenEvictionRunsMillis" value="3600000"></property> <property name="numTestsPerEvictionRun" value="50"></property> <property name="minEvictableIdleTimeMillis" value="120000"></property> <!-- add --> </bean> <!-sqlSessionFactory-> <bean id = "sqlSessionFactory"> <propriedade name = "DataSource" ref = "DataSource"/> </bean> <bean id = "threadpooltaskexecutor"> <nome da propriedade "corePoolsize" = "" 1 "/>/>/> </> <sthoLtaskexecutor"> <nome da propriedade "") name = "KeepAliveSeconds" value = "300"/> <propriedade name = "QueuEcapacity" value = "50"/> <Nome da propriedade = "WaitfortaskStocompleteOnshutDown" value = "true"/> </bean> <bEan id = "transactionManager"> <Nome da propriedade = "DataSource" Ref = "" <!-<!-<!-<Contexto: componente-Scan-package = "com.royao">-> <!-<Contexto: incluir filtro tipo = "regex"-> <!-Expression = "com.royao.services.*" />-> <! id = "ServiceOperation" Expression = "Execution (*cc.royao.mana.auth.service.*. Impl.*ServiceImpl. transação-manager = "transactionManager"> <tx: atributes> <tx: método name = "*" rollback-for = "excepção"/> </tx: atributes> </tx: conselhos> <tx: conselhos id = "transactionManageradivice" transaction-manyer = "transactionManager"> <ttibutes "<thodManger" <tation> transaction> transaction> name "name" attributes "MethodiVeDiCe" ". <tx: método name = "*add*" propagation = "requerir"/> <tx: método name = "*update*" propagation = "requerir"/> <tx: método name = "*update*" propagação = "requerir"/> <tx: name ""*del*"propagação =" "/> <Tx> name =" OTAPROUND " name = "batchdelfm" propagation = "requerir"/> <tx: método name = "edittemplate" propagation = "requerir"/> <tx: método name = "dummyDelete" propagação = "requerir"/> <tx: names = "batchdelUser" propagação = " </tx: atributos> </tx: conselhos> <Bean> <propriedade name = "BasEpackage"> <Value> cc.royao.mana.auth.mapper. Aqui, copiei todo o conteúdo do arquivo xml, com medo de não saber onde inseri-lo-> <importar resource = "spring-plan.xml"/> </sheans>Resumir
O exposto acima é o que o editor apresentou a você usando o Spring Integrated Quartz para implementar a função do timer. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!