如题 : 这样的如何配置 。希望给源码 。谢谢!! 在线等!!!急!!!
解决方案 »
- Swing的JTextPane怎么在指定位置插入图片?
- 请问:Bruce Eckel哪个大学毕业的??谢谢
- Socket连接中ObjectOutputStream.writeObject()的问题
- 输入输出问题File文件
- 运行中出现这种错误,JSP调用EJB,用的是STRUTS加EJB架构,谢谢各位大哥
- 抽象类与接口的区别?
- 求java打印资讯,设置不同的纸型打印问题?
- 如何把Timestamp类型的数据毫秒显示去掉?谢谢达人们
- ender(ender) ( ) ,……等大侠请进!中文问题要事!!请大家帮忙解决!!
- 如何通过JDBC获得某个表的关键字段?
- 求救关于list合并成map的问题
- java IO流读取多个文件问题
java有自带类Timer可以处理简单的定时任务。
网上也有很多框架提供这种支持,比如2楼所说的Quartz
java有自带类Timer可以处理简单的定时任务。
网上也有很多框架提供这种支持,比如2楼所说的Quartz他要的是现成的代码,不是解决的方案。
采用的 quartz-all-1.6.5.jarimport org.apache.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;public class SimpleJob implements Job {
private static final Logger LOGGER = Logger.getLogger(SimpleJob.class);
@Override
public void execute(JobExecutionContext arg0)
throws JobExecutionException {
LOGGER.info("start to work."); }
}
import java.text.ParseException;
import java.util.Date;import org.apache.log4j.Logger;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;public class QuartzTest {
private static final Logger LOGGER = Logger.getLogger(QuartzTest.class); public void runScheduler(String cronExpression) {
Scheduler scheduler = null; try {
// Create a default instance of the Scheduler
scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
LOGGER.info("Scheduler was started at " + new Date()); // Create the JobDetail
JobDetail jobDetail = new JobDetail("PrintInfoJob",
Scheduler.DEFAULT_GROUP, SimpleJob.class);
// Create a CronTrigger
try {
CronTrigger trigger = new CronTrigger("CronTrigger", null,
cronExpression); scheduler.scheduleJob(jobDetail, trigger);
} catch (ParseException ex) {
LOGGER.error("Error parsing cron expr", ex); } } catch (SchedulerException ex) {
LOGGER.error(ex);
}
} /**
* @param args
*/
public static void main(String[] args) { String cronExpression = "0/5 * * * * ? *";
QuartzTest test = new QuartzTest();
test.runScheduler(cronExpression);
}}
private final static Logger log = Logger.getLogger(SpmApp.class);
public static final String[] APPLICATION_CONTEXT_FILES = new String[] { "applicationContext.xml" }; // 加载配置文件 初始化启动
public static ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(APPLICATION_CONTEXT_FILES);
/**
*
* @Title: main
* @Description: 主方法
* @param @param args
* @param @throws UnknownHostException 设定文件
* @return void 返回类型
* @throws
*/
public static void main(String[] args) throws UnknownHostException {
// 启动定时任务
// Timer timer1 = new Timer();
// Timer timer2 = new Timer();
// EnterCardTimerTask enterTimerTask = new EnterCardTimerTask();
// OutCardTimerTask outTimerTask = new OutCardTimerTask();
// timer1.schedule(enterTimerTask, 100, 3000);
// timer2.schedule(outTimerTask, 100, 10000);
// 配置、启动 webservice
String ip = SpmPropertie.getProperty("ip");// 获得本机IP
String port = SpmPropertie.getProperty("port", "8086"); String address = "http://" + ip + ":" + port + "/services/SpmWebService"; Endpoint.publish(address, new MiddlewareWebService());
log.info("Web Service(" + address + "?wsdl) 已启动.");
}<bean id="missionJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="cn.org.timespace.middleware.Mission"></property>
</bean>
<bean id="enterTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="missionJob"></property>
<property name="cronExpression">
<value>0/2 * * * * ? *</value>
</property>
</bean>
<bean id="scheduledFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="enterTriggerBean"/>
</list>
</property>
</bean>
已经解决
package com.vista.quartz;import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.quartz.JobDetail;import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.Trigger;import org.quartz.TriggerUtils;import org.quartz.impl.StdSchedulerFactory;public class SimpleScheduler { static Log logger = LogFactory.getLog(SimpleScheduler.class); public static void main(String[] args) { SimpleScheduler simple = new SimpleScheduler(); try { // Create a Scheduler and schedule the Job Scheduler scheduler = simple.createScheduler(); simple.scheduleJob(scheduler); // Start the Scheduler running scheduler.start(); logger.info( "Scheduler started at " + new Date()); } catch (SchedulerException ex) { logger.error(ex); } } public Scheduler createScheduler() throws SchedulerException {//创建调度器 return StdSchedulerFactory.getDefaultScheduler(); } //Create and Schedule a ScanDirectoryJob with the Scheduler private void scheduleJob(Scheduler scheduler) throws SchedulerException { // Create a JobDetail for the Job JobDetail jobDetail = new JobDetail("ScanDirectory",Scheduler.DEFAULT_GROUP,ScanDirectoryJob.class); // Configure the directory to scan jobDetail.getJobDataMap().put("SCAN_DIR","D:\\Tomcat\\conf"); //set the JobDataMap that is associated with the Job. // Create a trigger that fires every 10 seconds, forever Trigger trigger = TriggerUtils.makeSecondlyTrigger(10);//每10秒触发一次 trigger.setName("scanTrigger"); // Start the trigger firing from now trigger.setStartTime(new Date());//设置第一次触发时间 // Associate the trigger with the job in the scheduler scheduler.scheduleJob(jobDetail, trigger); } }
package com.vista.quartz;import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.quartz.JobDetail;import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.Trigger;import org.quartz.TriggerUtils;import org.quartz.impl.StdSchedulerFactory;public class SimpleScheduler { static Log logger = LogFactory.getLog(SimpleScheduler.class); public static void main(String[] args) { SimpleScheduler simple = new SimpleScheduler(); try { // Create a Scheduler and schedule the Job Scheduler scheduler = simple.createScheduler(); // Jobs can be scheduled after Scheduler is running scheduler.start(); logger.info("Scheduler started at " + new Date()); // Schedule the first Job simple.scheduleJob(scheduler, "ScanDirectory1",ScanDirectoryJob.class,"D:\\conf1", 10); // Schedule the second Job simple.scheduleJob(scheduler, "ScanDirectory2",ScanDirectoryJob.class,"D:\\conf2 ", 15); } catch (SchedulerException ex) { logger.error(ex); } } public Scheduler createScheduler() throws SchedulerException {//创建调度器 return StdSchedulerFactory.getDefaultScheduler(); } private void scheduleJob(Scheduler scheduler, String jobName,Class jobClass, String scanDir, int scanInterval) throws SchedulerException { // Create a JobDetail for the Job JobDetail jobDetail = new JobDetail(jobName,Scheduler.DEFAULT_GROUP, jobClass); // Configure the directory to scan jobDetail.getJobDataMap().put("SCAN_DIR", scanDir); // Trigger that repeats every "scanInterval" secs forever Trigger trigger = TriggerUtils.makeSecondlyTrigger(scanInterval); trigger.setName(jobName + "-Trigger"); // Start the trigger firing from now trigger.setStartTime(new Date()); // Associate the trigger with the job in the scheduler scheduler.scheduleJob(jobDetail, trigger); } }