import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.quartz.SchedulerException;
/**
* 类说明:定时执行监听类
* @author huqy
*/
public class InterfaceSchedulerListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent arg0) {
try {
InvSchedule invschedule = new InvSchedule();
invschedule.loadScheduler();
System.out.println("quartz定时器已启动======================================");
} catch (SchedulerException e) {
e.printStackTrace();
}
}
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("接口任务调度器已终止调度!");
}
}
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
/**
* @function 定时执行类
* @author huqy
*
*/
public class InvSchedule{
public final static String JOB_GROUP_NAME = "INV_GROUP_JOB";
public final static String TRIG_GROUP_NAME = "INV_GROUP_TRIG";
public void loadScheduler() throws SchedulerException {
Scheduler scheduler = null;
try{
scheduler = StdSchedulerFactory.getDefaultScheduler();//这里报错了 错误信息如下
scheduler.start();
//定时开关 ON==开 OFF==关
if(InvConfig.getInstance().getJobswitch("job.switch").equals("ON")){
/**
* 用户机构 定时同步
*/
JobDetail jobDetail = new JobDetail("INTERFACE_SCHEDULE",JOB_GROUP_NAME,this.getClass().forName("com.nci.inv.webservice.InvUserAndOrgJob"));
CronTrigger ct = new CronTrigger("INTERFACE_SCHEDULE1",TRIG_GROUP_NAME,InvConfig.getInstance().getTime("userandorg.time"));
scheduler.scheduleJob(jobDetail, ct);
}
} catch (Exception e){
System.out.println("启动-INTERFACE_SCHEDULE-计划任务失败!");
e.printStackTrace();
}
}
}
接口任务调度器已终止调度!
2012-4-12 17:03:06 org.apache.catalina.core.StandardContext processTlds
严重: Error reading tld listeners java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.log4j.spi.LocationInfo.<init>(LocationInfo.java:95)
at org.apache.log4j.spi.LoggingEvent.getLocationInformation(LoggingEvent.java:182)
at org.apache.log4j.helpers.PatternParser$LocationPatternConverter.convert(PatternParser.java:475)
at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:56)
at org.apache.log4j.PatternLayout.format(PatternLayout.java:495)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:292)
at org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:349)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:150)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
at org.apache.log4j.Category.callAppenders(Category.java:187)
at org.apache.log4j.Category.forcedLog(Category.java:372)
at org.apache.log4j.Category.log(Category.java:864)
at org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:110)
at org.apache.catalina.startup.TldConfig.tldScanResourcePaths(TldConfig.java:575)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:282)
at org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:4307)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4144)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
分享到:
相关推荐
`StdSchedulerFactory.getDefaultScheduler()`用于获取默认的Scheduler实例,这是Quartz的核心组件,负责管理和执行所有的Job和Trigger。 `quartz_job.sql`文件可能包含Quartz所需的数据库表结构,Quartz使用数据库...
在上述代码中,`StdSchedulerFactory.getDefaultScheduler()`用于获取默认的调度器实例,`scheduleJob()`方法将Job和Trigger关联,最后调用`start()`启动调度器。 Quartz的API非常丰富,允许我们进行更复杂的操作,...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.scheduleJob(job, trigger); scheduler.start(); // 启动调度器 ``` 在实际应用中,你可能还需要考虑如下的高级特性: - **Job...
在上述代码中,`StdSchedulerFactory.getDefaultScheduler()`用于获取默认的Scheduler,`scheduleJob`方法将Job和Trigger关联起来,然后调用`start`方法启动调度。 Quartz还支持任务集群、持久化调度信息到数据库、...
总结,这个简单的QuartzNet Windows服务实例展示了如何集成QuartzNet进行任务调度。你可以根据需求自定义作业和触发器,实现更复杂的定时任务逻辑。同时,也可以扩展QuartzNet的功能,例如使用多个作业、触发器,...
在上述代码中,`StdSchedulerFactory.getDefaultScheduler()`会获取默认的调度器实例,然后通过`scheduleJob`方法将作业和触发器加入调度。一旦调度器启动,它将按照预定的时间执行作业。 博客链接...
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); IJobDetail job = JobBuilder.Create().Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger") ....
在应用程序启动时,使用`StdSchedulerFactory`获取调度器实例,并调用`Start`方法启动调度服务。 五、QuartzDemo项目解析 在QuartzDemo项目中,你可以看到以下几个关键部分: 1. Job类:例如`MyJob`,这是实现`IJob...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.start(); scheduler.scheduleJob(jobDetail, trigger); ``` 4. **启动和停止调度** 使用`scheduler.start()`启动调度器,`scheduler...
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); // 注册作业 IJobDetail job = JobBuilder.Create() .WithIdentity("myJob", "group1") // 作业标识 .Build(); // 创建触发器 ITrigger ...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); JobDetail job = JobBuilder.newJob(YourJobClass.class) .withIdentity("job1", "group1").build(); Trigger trigger = TriggerBuilder.new...
var scheduler = StdSchedulerFactory.GetDefaultScheduler(); scheduler.ScheduleJob(new JobDetail("myJob", "myGroup", typeof(MyJob)), trigger); scheduler.Start(); ``` 通过上述步骤,你可以在C#项目中...
var scheduler = StdSchedulerFactory.GetDefaultScheduler(); scheduler.Start(); scheduler.ScheduleJob(job, trigger); ``` 4. **多任务执行**: 在同一应用程序中,你可以定义并调度多个Job,每个Job可以有各自...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.scheduleJob(job, trigger); scheduler.start(); ``` 在这个示例中,我们创建了一个名为 "myJob" 的 Job,并使用 ...
- `StdSchedulerFactory.getDefaultScheduler()`创建了一个`Scheduler`实例。 - `newTrigger()`和`newJob()`分别创建了`Trigger`和`JobDetail`实例。 - `scheduler.scheduleJob(job, trigger)`将`JobDetail`和`...
在上述代码中,`StdSchedulerFactory.getDefaultScheduler()`会创建默认的Scheduler实例。如果你需要更复杂的配置,可以通过`StdSchedulerFactory`的其他方法来自定义Scheduler。 5. **停止或修改任务**:如果需要...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.scheduleJob(jobDetail, cronTrigger); scheduler.start(); // 启动调度器 ``` 6. **集成Spring** 在Spring应用中,可以通过`@...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); // 将Job和Trigger关联并启动 scheduler.scheduleJob(job, trigger); scheduler.start(); ``` 在这个例子中,`MyJob`是你自定义的Job实现,`"0...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); ``` 2. **定义Job**:创建一个Job类,实现`Job`接口,并重写`execute()`方法,编写任务逻辑。 ```java public class SimpleJob implements Job...
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); scheduler.scheduleJob(jobDetail, trigger); scheduler.start(); ``` 最后,启动Quartz调度器`scheduler.start()`,这样`DailySay`作业就会...