Используйте Spring для интеграции кварца для реализации таймера (проект Maven для демонстрации)
Методы, которые не основаны на конкретных базовых классах
1. Среда развития и пакеты JAR -зависимости
Весна 4.2.6.
Maven 3.3.9
JDK 1,7
Идея 15.04
2. Необходимая зависимость от JAR (добавленная в файл pom.xml в проекте 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. Файлы, используемые при реализации таймера:
planworkexcute.java - класс, выполненный таймером
Spring Plan.xml --xml для настройки информации таймера
В -четвертых, реализуйте шаги таймера:
1. Создайте файл planworkexcute.java, в пакете cc.royao.plantask.
Пакет cc.royao.plantask; import java.text.simpledateformat; import java.util.date; импорт java.util.hashmap; import java.util.list; импорт java.util.map; import.comtil.crourrent.executorservice; org.apache.log4j.logger; // Вы можете удалить импорт org.springframework.beans.factory.annotation.autowired; public class planworkexecut wealdrawnoAudittask () {SimpleDateFormat OutFormat = new SimpleDateFormat ("Yyyyy MM Month DDD Дата HH: MM: SS"); System.out.println("Start withdrawal exemption task------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- logger.info («Начните отмену и освобождение от обзора задача---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2. Создайте файл конфигурации Spring Plan.xml Примечание. Просто создайте файл конфигурации таймера. Если необходимо несколько таймеров, просто добавьте бобы в Spring Plan.xml и определите метод класса таймера. Нет необходимости создавать несколько XML.
・ Для выражения Cron о том, как долго будет выполнен таймер, пожалуйста, см.
・ URL для генерации выражений онлайн: http://cron.qqe2.com/
<? xml version = "1.0" Encoding = "UTF-8"?> <фасоль xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://wwww.springframe. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"default-lazy-init="false"><bean id = "job1"/> <!-Модифицируйте путь к своему классу Timing-> <! bean = "job1"/> </property> <name = "targetmethod"> <duster> shailloAudittask </value> <!-имя метода класса таймера-> </property> </bean> <bean id = "crontrigger_1"> <property = "jobdetail"> <fer bean = "jobdetail_1"/> <! name = "cronexpression"> <dalue> 0/2 * * * * *? </value> <!- 0 10 0 * *? Выполнить в 0:10 каждый день-> </property> </bean> <bean> <name = "triggers"> <list> <ref local = "crontrigger_1"/> <!-каждый таймер добавил, вы также должны добавить-> </list> </property> </bean> </beans>.
3. Вам нужно ввести Spring Plan.xml в ApplicationContext.xml. Следующий код фокусируется на результатах
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: jee = "http://www.springframework.org/schema/jee" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: context = "http://wwww.springframe.orshema. xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: cache = "http://wwww.spramemema/shema/shema/shema/shema/chachemshema/schema/chachemema. xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.spramework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-3.1.x.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://www.springframework.org/schema/cache http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.2.xsd "default-lazy-init =" true "> <!-Конфигурация файла системы загрузки системы-> <Bean Id =" PropertyConfigurer "> <property name =" locations "> <Situle> <valie> web-inf/jdb. <dulch> Web-Inf/SMS. <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 name="removeAbandoned"> <value>true</value> </property> <property name="removeAbandonedTimeout"> <значение> 60000000 </value> <!-180-> </property> <!-add-> <name = "validationQuery" value = "select 1"> </property> <name = "testwhileidle" value = "true"> </property> <name = "testonborw" value = "true"> </properation> <properation = "testonborw" value = "value"> </properation> <properation = "testonBorw" value = "value"> </properation> </properation = "vally"> </value "> </properation> </properation> <свойство =". name = "TimeWeeWeeVictionRunsmillis" value = "3600000"> </property> <name = "numTestSperevictionRun" value = "50"> </property> <name = "minevictableIdletimels" value = "120000"> </property> <!-Добавить-> </bean> <! <property name="dataSource" ref="dataSource"/> </bean> <bean id="threadPoolTaskExecutor"> <property name="corePoolSize" value="1"/> <property name="maxPoolSize" value="10"/> <property name="keepAliveSeconds" value="300"/> <property name="queueCapacity" value = "50"/> <name = "waitfortaskstocompleteonshutdown" value = "true"/> </bean> <bean id = "transactionManager"> <name = "dataSource" ref = "dataSource"> </propetion> </bean> <!-<!-<!-<context: component-scan base-package = "com.roya> <!-<!-<! type = "regex"-> <!-Express = "com.royao.services.*" />-> <!-< /context: component-scan>-> <aop: config proxy-target-class = "true"> <aop: pointcut id = "serviceoperation" expression = "выполнение (* cc.royao.mana.auth.service.*. Impl.*ServiceImpl.*(..)) "/> <aop: Advisor pointcut-ref =" ServiceOperation "ref-ref =" txadvice "/> </aop: config> <!-Configure Transaction Notification-> <TX: Advice ID =" TXADVICE "Transaction-Manager ="> ">" <TX: атрибуты> <tx: method name = "*" rowlback-for = "Исключение"/> </tx: атрибуты> </tx: Assement> <tx: usd id = "transactionMagerAdivice" Transaction-manager = "TransactionManager"> <TX: атрибуты> <tx: method name = "*insert*propagation ="/"/"/"*"/"*"/"*"/"*"/"*"/"*"/"*"/"*"/"*"/"*"/""/""/""/"*"/"******************* Propagation = «обязательно»/> <tx: method name = "*update*" Propagation = "требуется"/> <tx: method name = "*update*" oppagation = "требуется"/> <tx: method name = "*del*" Propagation = "Требуется"/> <tx: имя метода = "doappured" propagation = «требуется»/> <tx: method method method name = ». <tx:method name="editTemplate" propagation="REQUIRED"/> <tx:method name="dummyDelete" propagation="REQUIRED"/> <tx:method name="batchDelUser" propagation="REQUIRED"/> <!--<tx:method name="*" propagation="REQUIRED"/>--> </tx:attributes> </tx:advice> <bean> <property name = "basepackage"> <dulch> cc.royao.mana.auth.mapper.*</value> </property> <property name = "sqlSessionFactoryBeanName" value = "sqlSessionFactory"/> </bean> <импортный ресурс = "application-servlet.xml"/> <! -> <импортный ресурс = "spring plan.xml"/> </beans>Суммировать
Выше приведено то, что редактор представил вам с использованием пружинного интегрированного кварца для реализации функции таймера. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!