Java的几种定时任务
1、XML文件配置的job
web.xml
<servlet>
<servlet-name>QuartzInitializer</servlet-name>
<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config-file</param-name>
<param-value>quartz.properties</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
quartz.properties
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 3
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure Plugins
#============================================================================
#org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
#org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.class = com.coship.dhm.portalMS.common.util.DHMJobInitializer
#org.quartz.plugin.jobInitializer.fileName = quartz.xml
#\u5fc5\u987b\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u914d\u7f6e\u6210quartz_nanjing-classify.xml\uff08\u5357\u4eac\u5206\u7ea7\uff09\u6216\u8005quartz_tianwei.xml \u6216 quartz_nanjing-no-classify.xml\uff08\u4e0d\u5206\u7ea7\uff09—>
org.quartz.plugin.jobInitializer.fileNames = quartz_tianwei.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 10
quartz_tianwei.xml
<?xml version=”1.0” encoding=”UTF-8”?>
2、spring框架
appContextServiceSynchronize.xml
<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN 2.0//EN” “http://www.springframework.org/dtd/spring-beans-2.0.dtd">
…….
appContextService.xml
<?xml version=”1.0” encoding=”UTF-8”?>
web.xml
<?xml version=”1.0” encoding=”UTF-8”?>
classpath:spring/appContextService.xml,
classpath:spring/applicationContext-operation.xml
<context-param>
<param-name>log.config-file</param-name>
<param-value>log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log.config-file-refresh-interval</param-name>
<param-value>6000</param-value>
</context-param>
<context-param>
<param-name>system.log-path-name</param-name>
<param-value>log</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value> app.root </param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<listener>
<listener-class>
com.coship.dhm.common.uif.system.StartupListener
</listener-class>
</listener>
<!--
<listener>
<listener-class>
com.coship.dhm.common.init.InitSystemListener
</listener-class>
</listener>
-->
<listener>
<listener-class>
com.coship.dhm.nspAdapter.common.NSPInitUifListener
</listener-class>
</listener>
<listener>
<listener-class>
com.coship.dhm.nspAdapter.common.NSPInitSerListener
</listener-class>
</listener>
<!--
<listener>
<listener-class>
com.coship.dhm.common.uif.system.ACFStartupListener
</listener-class>
</listener>
<listener>
<listener-class>
com.coship.dhm.aaa.daf.DAFStartListener
</listener-class>
</listener>
-->
<filter>
<filter-name>encoding</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/\*</url-pattern>
</filter-mapping>
<filter>
<filter-name>ipAuthFilter</filter-name>
<filter-class>com.coship.dhm.common.uif.system.IpAuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ipAuthFilter</filter-name>
<url-pattern>/services/\*</url-pattern>
</filter-mapping>
<!--<servlet>
<servlet-name>MonitorServlet</servlet-name>
<servlet-class>
com.coship.aaa.monitor.servlet.MonitorServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
-->
<listener>
<listener-class>com.coship.backupmode.listener.JBackupListener</listener-class>
<listener>
<listener-class>
com.coship.dhm.nspAdapter.common.util.AdapterDBInitListener
</listener-class>
<servlet>
<servlet-name>muleServlet</servlet-name>
<servlet-class>
org.mule.transport.servlet.MuleReceiverServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>muleServlet</servlet-name>
<url-pattern>/services/\*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
3、Timer
public class SystemXmlFileTask extends TimerTask
public void run()
{
try
\{
init();
\}
catch (Exception e)
\{
logger.error("SystemXmlFileTask Exception" + e.getMessage());
\}
\}
//1.初始化系统配置文件刷新时间
int systemRefreshInterval = 60000;
try
{
systemRefreshInterval = Integer.parseInt(ctx.getInitParameter(SYSTEM_REFRESH_INTERVAL));
}
SystemXmlFileTask systemXmlFileTask = new SystemXmlFileTask(
configPath + FS + SYSTEMCONFIG_FILE_NAME);
systemXmlFileTask.init();
Timer timer = new Timer();
timer.schedule(systemXmlFileTask,
systemRefreshInterval,
systemRefreshInterval);
还没有评论,来说两句吧...