下面列出了怎么用org.quartz.core.QuartzScheduler的API类实例代码及写法,或者点击链接到github查看源代码。
public static BasicInfo getBasicInfo() {
String versionIteration = QuartzScheduler.getVersionIteration();
String versionMajor = QuartzScheduler.getVersionMajor();
String versionMinor = QuartzScheduler.getVersionMinor();
BasicInfo basicInfo = new BasicInfo();
basicInfo.setQuartzWebVersion(VERSION.getVersionNumber());
basicInfo.setVersionMajor(versionMajor);
basicInfo.setVersionMinor(versionMinor);
basicInfo.setVersionIteration(versionIteration);
basicInfo.setQuartzVersion(versionMajor + "." + versionMinor + "." + versionIteration);
basicInfo.setJavaVMStartTime(DateUtils.getVMStartTime());
basicInfo.setJavaVMName(System.getProperty("java.vm.name"));
basicInfo.setJavaVersion(System.getProperty("java.version"));
basicInfo.setJavaClassPath(System.getProperty("java.class.path"));
return basicInfo;
}
@Override
protected void doStart() throws Exception {
// create new scheduler
scheduler = schedulerProvider.get();
try {
// access internal scheduler to simulate signals for remote updates
Field schedField = scheduler.getClass().getDeclaredField("sched");
schedField.setAccessible(true);
quartzScheduler = (QuartzScheduler) schedField.get(scheduler);
}
catch (Exception | LinkageError e) {
log.error("Cannot find QuartzScheduler", e);
throw e;
}
// re-attach listeners right after scheduler is available
reattachListeners();
}
@Override
protected Scheduler instantiate(QuartzSchedulerResources rsrcs, QuartzScheduler qs)
{
Scheduler scheduler = super.instantiate(rsrcs, qs);
JobStore jobStore = rsrcs.getJobStore();
if (jobStore instanceof SchedulerAware)
{
((SchedulerAware) jobStore).setScheduler(scheduler);
}
return scheduler;
}
private void shutdownFromInstantiateException(ThreadPool tp, QuartzScheduler qs, boolean tpInited, boolean qsInited) {
try {
if(qsInited)
qs.shutdown(false);
else if(tpInited)
tp.shutdown(false);
} catch (Exception e) {
getLog().error("Got another exception while shutting down after instantiation exception", e);
}
}
protected Scheduler instantiate(QuartzSchedulerResources rsrcs, QuartzScheduler qs) {
SchedulingContext schedCtxt = new SchedulingContext();
schedCtxt.setInstanceId(rsrcs.getInstanceId());
Scheduler scheduler = new StdScheduler(qs, schedCtxt);
return scheduler;
}
private String getQuartzVersion() {
return String.format("%s.%s.%s", QuartzScheduler.getVersionMajor(), QuartzScheduler.getVersionMinor(),
QuartzScheduler.getVersionIteration());
}
public static void main(String[] args) {
System.out.println("Quartz version: " + QuartzScheduler.getVersionMajor()
+ "." + QuartzScheduler.getVersionMinor() + "."
+ QuartzScheduler.getVersionIteration());
}
private String getQuartzVersion() {
return String.format("%s.%s.%s", QuartzScheduler.getVersionMajor(), QuartzScheduler.getVersionMinor(),
QuartzScheduler.getVersionIteration());
}
protected Scheduler instantiate(QuartzSchedulerResources rsrcs, QuartzScheduler qs) {
Scheduler scheduler = new StdScheduler(qs);
return scheduler;
}
public static void main(String[] args) {
System.out.println("Quartz version: " + QuartzScheduler.getVersionMajor()
+ "." + QuartzScheduler.getVersionMinor() + "."
+ QuartzScheduler.getVersionIteration());
}
private String getQuartzVersion() {
return String.format("%s.%s.%s", QuartzScheduler.getVersionMajor(), QuartzScheduler.getVersionMinor(),
QuartzScheduler.getVersionIteration());
}
@Override
public String getVersion() {
return QuartzScheduler.getVersionMajor() +"."+QuartzScheduler.getVersionMinor() +"."+QuartzScheduler.getVersionIteration();
}
/**
* Puts the submitted resource under the purview of this {@code ManagementServer}.
*
* @param managedResource the resource to be managed
*/
public void register(QuartzScheduler managedResource);
/**
* Removes the submitted resource under the purview of this {@code ManagementServer}.
*
* @param managedResource the resource to be managed
*/
public void unregister(QuartzScheduler managedResource);
/**
* <p>
* Construct a <code>StdScheduler</code> instance to proxy the given
* <code>QuartzScheduler</code> instance, and with the given <code>SchedulingContext</code>.
* </p>
*/
public StdScheduler(QuartzScheduler sched) {
this.sched = sched;
}
/**
* <p>
* Construct a <code>StdScheduler</code> instance to proxy the given
* <code>QuartzScheduler</code> instance, and with the given <code>SchedulingContext</code>.
* </p>
*/
public StdScheduler(QuartzScheduler sched, SchedulingContext schedCtxt) {
this.sched = sched;
this.schedCtxt = schedCtxt;
}