下面列出了org.quartz.impl.StdSchedulerFactory#initialize ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public DefaultTaskScheduler() {
StdSchedulerFactory schedFactory = new StdSchedulerFactory();
Properties props = new Properties();
props.setProperty("org.quartz.scheduler.instanceName", "DefaultQuartzScheduler");
props.setProperty("org.quartz.scheduler.rmi.export", "false");
props.setProperty("org.quartz.scheduler.rmi.proxy", "false");
props.setProperty("org.quartz.scheduler.wrapJobExecutionInUserTransaction", "false");
props.setProperty("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
props.setProperty("org.quartz.threadPool.threadCount", "10");
props.setProperty("org.quartz.jobStore.misfireThreshold", "60000");
props.setProperty("org.quartz.jobStore.class", "org.quartz.simpl.RAMJobStore");
try {
schedFactory.initialize(props);
quartz = schedFactory.getScheduler();
} catch (SchedulerException e) {
throw new RuntimeException(e);
}
}
public SolrTrackerScheduler(AlfrescoCoreAdminHandler adminHandler)
{
// TODO: pick scheduler properties from SOLR config or file ...
try
{
StdSchedulerFactory factory = new StdSchedulerFactory();
Properties properties = new Properties();
properties.setProperty("org.quartz.scheduler.instanceName", adminHandler.toString());
properties.setProperty("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
properties.setProperty("org.quartz.threadPool.threadCount", "40");
properties.setProperty("org.quartz.threadPool.makeThreadsDaemons", "true");
properties.setProperty("org.quartz.scheduler.makeSchedulerThreadDaemon", "true");
properties.setProperty("org.quartz.jobStore.class", "org.quartz.simpl.RAMJobStore");
properties.setProperty("org.quartz.scheduler.skipUpdateCheck","true");
factory.initialize(properties);
scheduler = factory.getScheduler();
scheduler.start();
}
catch (SchedulerException e)
{
logError("SolrTrackerScheduler", e);
}
}
@Override
public void init(SourceBean config) {
StdSchedulerFactory stdSchedFact = new StdSchedulerFactory();
Properties properties = new Properties();
try {
Thread currThread = Thread.currentThread();
ClassLoader classLoader = currThread.getContextClassLoader();
InputStream propIs = classLoader.getResourceAsStream("quartz.properties");
properties.load(propIs);
String figuredOutValue = null;
if (properties.containsKey(PROPERTY_DELEGATE_CLASS)) {
logger.info("Quartz delegate class set to " + properties.get(PROPERTY_DELEGATE_CLASS));
} else {
logger.warn("Property " + PROPERTY_DELEGATE_CLASS + " not set! Trying to figure out what delegate class needs to be used...");
determineDelegateClass(properties);
}
stdSchedFact.initialize(properties);
Scheduler sched = stdSchedFact.getScheduler();
sched.start();
} catch (Exception e) {
SpagoBITracer.major(SpagoBIConstants.NAME_MODULE, this.getClass().getName(), "init", "Error while initializing scheduler " + e);
}
}
public TaskManager(TaskFactory taskFactory) {
this.taskFactory = taskFactory;
try {
StdSchedulerFactory stdSchedulerFactory = new StdSchedulerFactory();
Properties props = new Properties();
props.put(
StdSchedulerFactory.PROP_THREAD_POOL_CLASS,
"org.quartz.simpl.SimpleThreadPool");
props.put("org.quartz.threadPool.threadCount", "1");
stdSchedulerFactory.initialize(props);
scheduler = stdSchedulerFactory.getScheduler();
} catch (SchedulerException e) {
logger.error("something wrong with getting scheduler: {}", e.getLocalizedMessage());
}
}
private Scheduler getScheduler() {
StdSchedulerFactory factory = new StdSchedulerFactory();
try {
factory.initialize(getQuartzProperties());
return factory.getScheduler();
} catch (final SchedulerException ex) {
throw new JobSystemException(ex);
}
}
StatisticsScheduler() {
factory = new StdSchedulerFactory();
try {
factory.initialize(getQuartzProperties());
} catch (final SchedulerException ex) {
throw new JobStatisticException(ex);
}
}
@Override
public void createService() throws Exception {
log.info("Create QuartzService(" + jndiName + ")...");
if (error) {
log
.error("Must specify only one of 'Properties' or 'PropertiesFile'");
throw new Exception(
"Must specify only one of 'Properties' or 'PropertiesFile'");
}
schedulerFactory = new StdSchedulerFactory();
try {
if (useProperties) {
schedulerFactory.initialize(properties);
}
if (usePropertiesFile) {
schedulerFactory.initialize(propertiesFile);
}
} catch (Exception e) {
log.error("Failed to initialize Scheduler", e);
throw new SchedulerConfigException(
"Failed to initialize Scheduler - ", e);
}
log.info("QuartzService(" + jndiName + ") created.");
}
private void initDetectionScheduler() throws Exception{
StdSchedulerFactory factory=new StdSchedulerFactory();
Properties mergedProps = new Properties();
mergedProps.setProperty(StdSchedulerFactory.PROP_THREAD_POOL_CLASS, SimpleThreadPool.class.getName());
mergedProps.setProperty("org.quartz.scheduler.makeSchedulerThreadDaemon", "true");
mergedProps.setProperty("org.quartz.scheduler.instanceName", "UfloClusterHeartbeatScheduler");
mergedProps.setProperty("org.quartz.scheduler.instanceId", "UfloHeartbeatDetectionScheduler");
mergedProps.setProperty("org.quartz.threadPool.threadCount","2");
factory.initialize(mergedProps);
scheduler=factory.getScheduler();
}
protected void initScheduler(Properties properties) {
this.properties = properties;
try {
StdSchedulerFactory schedulerFactory = new StdSchedulerFactory();
schedulerFactory.initialize(properties);
scheduler = schedulerFactory.getScheduler();
scheduler.start();
} catch (SchedulerException e) {
LoggerHelper.error("create scheduler failed.", e);
throw new NiubiException(e);
}
}
private Scheduler createScheduler() {
Scheduler result;
try {
StdSchedulerFactory factory = new StdSchedulerFactory();
factory.initialize(getQuartzProps());
result = factory.getScheduler();
result.getListenerManager().addTriggerListener(schedulerFacade.newJobTriggerListener());
} catch (final SchedulerException ex) {
throw new JobSystemException(ex);
}
return result;
}
protected void testJobStore(Properties quartzProperties) throws SchedulerException {
StdSchedulerFactory schedulerFactory = new StdSchedulerFactory();
schedulerFactory.initialize(quartzProperties);
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
JobDetail job = getJobDetail("testJob1", "testJobGroup1");
CronTriggerImpl trigger = getCronTrigger("testTrigger1", "testTriggerGroup1", job.getKey(), "0/5 * * * * ?");
scheduler.scheduleJob(job, trigger);
JobDetail retrievedJob = jobStore.retrieveJob(job.getKey());
assertThat(retrievedJob, not(nullValue()));
assertThat(retrievedJob.getJobDataMap(), hasKey("timeout"));
CronTriggerImpl retrievedTrigger = (CronTriggerImpl) jobStore.retrieveTrigger(trigger.getKey());
assertThat(retrievedTrigger, not(nullValue()));
assertEquals(trigger.getCronExpression(), retrievedTrigger.getCronExpression());
scheduler.deleteJob(job.getKey());
assertThat(jobStore.retrieveJob(job.getKey()), nullValue());
assertThat(jobStore.retrieveTrigger(trigger.getKey()), nullValue());
scheduler.shutdown();
}
@Override protected void startUp() throws SchedulerException {
StdSchedulerFactory schedulerFactory = new StdSchedulerFactory();
if (this.quartzProps.isPresent() && this.quartzProps.get().size() > 0) {
schedulerFactory.initialize(this.quartzProps.get());
}
this.scheduler = schedulerFactory.getScheduler();
this.scheduler.start();
}
/**
* Starts the scheduler.
* <p>
* Invoked by iPojo.
* </p>
*/
public void start() throws Exception {
this.logger.info( "Roboconf's scheduler is starting..." );
// Verify the "scheduler" directory exists
File schedulerDirectory = getSchedulerDirectory();
Utils.createDirectory( schedulerDirectory );
// Disable Quartz update checks
StringBuilder quartzProperties = new StringBuilder();
quartzProperties.append( "org.quartz.scheduler.instanceName: Roboconf Quartz Scheduler\n" );
quartzProperties.append( "org.quartz.threadPool.threadCount = 3\n" );
quartzProperties.append( "org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore\n" );
quartzProperties.append( "org.quartz.scheduler.skipUpdateCheck: false\n" );
StdSchedulerFactory factory = new StdSchedulerFactory();
factory.initialize( new ByteArrayInputStream( quartzProperties.toString().getBytes( StandardCharsets.UTF_8 )));
// Create a new scheduler
this.scheduler = factory.getScheduler();
this.scheduler.start();
this.scheduler.getContext().put( MANAGER, this.manager );
// Add a listener to the DM
this.dmListener = new ManagerListener( this );
this.manager.listenerAppears( this.dmListener );
// Reload all the jobs
loadJobs();
}
/**
* Initialize the given SchedulerFactory, applying locally defined Quartz properties to it.
* @param schedulerFactory the SchedulerFactory to initialize
*/
private void initSchedulerFactory(StdSchedulerFactory schedulerFactory) throws SchedulerException, IOException {
Properties mergedProps = new Properties();
if (this.resourceLoader != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_SCHED_CLASS_LOAD_HELPER_CLASS,
ResourceLoaderClassLoadHelper.class.getName());
}
if (this.taskExecutor != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_THREAD_POOL_CLASS,
LocalTaskExecutorThreadPool.class.getName());
}
else {
// Set necessary default properties here, as Quartz will not apply
// its default configuration when explicitly given properties.
mergedProps.setProperty(StdSchedulerFactory.PROP_THREAD_POOL_CLASS, SimpleThreadPool.class.getName());
mergedProps.setProperty(PROP_THREAD_COUNT, Integer.toString(DEFAULT_THREAD_COUNT));
}
if (this.configLocation != null) {
if (logger.isDebugEnabled()) {
logger.debug("Loading Quartz config from [" + this.configLocation + "]");
}
PropertiesLoaderUtils.fillProperties(mergedProps, this.configLocation);
}
CollectionUtils.mergePropertiesIntoMap(this.quartzProperties, mergedProps);
if (this.dataSource != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_JOB_STORE_CLASS, LocalDataSourceJobStore.class.getName());
}
// Determine scheduler name across local settings and Quartz properties...
if (this.schedulerName != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME, this.schedulerName);
}
else {
String nameProp = mergedProps.getProperty(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME);
if (nameProp != null) {
this.schedulerName = nameProp;
}
else if (this.beanName != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME, this.beanName);
this.schedulerName = this.beanName;
}
}
schedulerFactory.initialize(mergedProps);
}
/**
* Initialize the given SchedulerFactory, applying locally defined Quartz properties to it.
* @param schedulerFactory the SchedulerFactory to initialize
*/
private void initSchedulerFactory(StdSchedulerFactory schedulerFactory) throws SchedulerException, IOException {
Properties mergedProps = new Properties();
if (this.resourceLoader != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_SCHED_CLASS_LOAD_HELPER_CLASS,
ResourceLoaderClassLoadHelper.class.getName());
}
if (this.taskExecutor != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_THREAD_POOL_CLASS,
LocalTaskExecutorThreadPool.class.getName());
}
else {
// Set necessary default properties here, as Quartz will not apply
// its default configuration when explicitly given properties.
mergedProps.setProperty(StdSchedulerFactory.PROP_THREAD_POOL_CLASS, SimpleThreadPool.class.getName());
mergedProps.setProperty(PROP_THREAD_COUNT, Integer.toString(DEFAULT_THREAD_COUNT));
}
if (this.configLocation != null) {
if (logger.isDebugEnabled()) {
logger.debug("Loading Quartz config from [" + this.configLocation + "]");
}
PropertiesLoaderUtils.fillProperties(mergedProps, this.configLocation);
}
CollectionUtils.mergePropertiesIntoMap(this.quartzProperties, mergedProps);
if (this.dataSource != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_JOB_STORE_CLASS, LocalDataSourceJobStore.class.getName());
}
// Determine scheduler name across local settings and Quartz properties...
if (this.schedulerName != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME, this.schedulerName);
}
else {
String nameProp = mergedProps.getProperty(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME);
if (nameProp != null) {
this.schedulerName = nameProp;
}
else if (this.beanName != null) {
mergedProps.setProperty(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME, this.beanName);
this.schedulerName = this.beanName;
}
}
schedulerFactory.initialize(mergedProps);
}
private Scheduler initializeScheduler() throws SchedulerException {
StdSchedulerFactory factory = new StdSchedulerFactory();
factory.initialize(getBaseQuartzProperties());
return factory.getScheduler();
}