org.quartz.xml.XMLSchedulingDataProcessor类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(10.9k)|赞(0)|评价(0)|浏览(237)

本文整理了Java中org.quartz.xml.XMLSchedulingDataProcessor类的一些代码示例,展示了XMLSchedulingDataProcessor类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLSchedulingDataProcessor类的具体详情如下:
包路径:org.quartz.xml.XMLSchedulingDataProcessor
类名称:XMLSchedulingDataProcessor

XMLSchedulingDataProcessor介绍

[英]Parses an XML file that declares Jobs and their schedules (Triggers), and processes the related data. The xml document must conform to the format defined in "job_scheduling_data_2_0.xsd" The same instance can be used again and again, however a single instance is not thread-safe.
[中]解析声明作业及其计划(触发器)的XML文件,并处理相关数据。xml文档必须符合“job_scheduling_data_2_0.xsd”中定义的格式。同一实例可以反复使用,但单个实例不是线程安全的。

代码示例

代码示例来源:origin: quartz-scheduler/quartz

private void processFile(JobFile jobFile) {
  if (jobFile == null || !jobFile.getFileFound()) {
    return;
  }
  try {
    XMLSchedulingDataProcessor processor = 
      new XMLSchedulingDataProcessor(this.classLoadHelper);
    
    processor.addJobGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
    processor.addTriggerGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
    
    processor.processFileAndScheduleJobs(
        jobFile.getFileName(), 
        jobFile.getFileName(), // systemId 
        getScheduler());
  } catch (Exception e) {
    getLog().error("Error scheduling jobs: " + e.getMessage(), e);
  }
}

代码示例来源:origin: quartz-scheduler/quartz

/**
 * Process the xml file in the given location, and schedule all of the
 * jobs defined within it.
 * 
 * @param fileName
 *          meta data file name.
 */
public void processFileAndScheduleJobs(String fileName, Scheduler sched) throws Exception {
  processFileAndScheduleJobs(fileName, getSystemIdForFileName(fileName), sched);
}

代码示例来源:origin: spring-projects/spring-framework

ClassLoadHelper clh = new ResourceLoaderClassLoadHelper(this.resourceLoader);
clh.initialize();
XMLSchedulingDataProcessor dataProcessor = new XMLSchedulingDataProcessor(clh);
for (String location : this.jobSchedulingDataLocations) {
  dataProcessor.processFileAndScheduleJobs(location, getScheduler());

代码示例来源:origin: quartz-scheduler/quartz

String name = getTrimmedToNullString(xpath, "q:name", node);
  String group = getTrimmedToNullString(xpath, "q:group", node);
  String name = getTrimmedToNullString(xpath, "q:name", node);
  String group = getTrimmedToNullString(xpath, "q:group", node);
Boolean overWrite = getBoolean(xpath, 
    "/q:job-scheduling-data/q:processing-directives/q:overwrite-existing-data", document);
if(overWrite == null) {
  log.debug("Directive 'overwrite-existing-data' not specified, defaulting to " + isOverWriteExistingData());
  setOverWriteExistingData(overWrite);
Boolean ignoreDupes = getBoolean(xpath, 
    "/q:job-scheduling-data/q:processing-directives/q:ignore-duplicates", document);
if(ignoreDupes == null) {
  log.debug("Directive 'ignore-duplicates' not specified, defaulting to " + isIgnoreDuplicates());
  setIgnoreDuplicates(ignoreDupes);
  String jobName = getTrimmedToNullString(xpath, "q:name", jobDetailNode);
  String jobGroup = getTrimmedToNullString(xpath, "q:group", jobDetailNode);
  String jobDescription = getTrimmedToNullString(xpath, "q:description", jobDetailNode);
  String jobClassName = getTrimmedToNullString(xpath, "q:job-class", jobDetailNode);
  t = getTrimmedToNullString(xpath, "q:durability", jobDetailNode);
  boolean jobDurability = (t != null) && t.equals("true");
  t = getTrimmedToNullString(xpath, "q:recover", jobDetailNode);
  boolean jobRecoveryRequested = (t != null) && t.equals("true");

代码示例来源:origin: quartz-scheduler/quartz

List<JobDetail> jobs = new LinkedList<JobDetail>(getLoadedJobs());
List<MutableTrigger> triggers = new LinkedList<MutableTrigger>( getLoadedTriggers());
Map<JobKey, List<MutableTrigger>> triggersByFQJobName = buildTriggersByFQJobNameMap(triggers);
    if (e.getCause() instanceof ClassNotFoundException && isOverWriteExistingData()) {
    if(!isOverWriteExistingData() && isIgnoreDuplicates()) {
      log.info("Not overwriting existing job: " + dupeJ.getKey());
      continue; // just ignore the entry
    if(!isOverWriteExistingData() && !isIgnoreDuplicates()) {
      throw new ObjectAlreadyExistsException(detail);
        if (isOverWriteExistingData()) {
          if (log.isDebugEnabled()) {
            log.debug(
                "Rescheduling job: " + trigger.getJobKey() + " with updated trigger: " + trigger.getKey());
        } else if (isIgnoreDuplicates()) {
          log.info("Not overwriting existing trigger: " + dupeT.getKey());
          continue; // just ignore the trigger (and possibly job)
    if(isOverWriteExistingData()) {
      if (log.isDebugEnabled()) {
        log.debug(
    else if(isIgnoreDuplicates()) {
      log.info("Not overwriting existing trigger: " + dupeT.getKey());

代码示例来源:origin: sakaiproject/sakai

public void init() throws ParserConfigurationException, XPathException, ParseException, IOException, ValidationException, SchedulerException, SAXException, ClassNotFoundException {
  boolean noFiles = files == null || files.isEmpty();
  if (noFiles || !schedulerManager.isAutoProvisioning()) {
    log.info("Not auto provisioning jobs: "+ ((noFiles)?"no files.":String.join(", ", files)));
    return;
  }
  Scheduler scheduler = schedulerManager.getScheduler();
  ClassLoadHelper clh = new CascadingClassLoadHelper();
  clh.initialize();
  for (String file : files ) {
    XMLSchedulingDataProcessor proc = new XMLSchedulingDataProcessor(clh);
    InputStream in = getClass().getResourceAsStream(file);
    if (in == null) {
      throw new IllegalArgumentException("Couldn't find resource on classpath: "+ file);
    }
    try {
      proc.processStreamAndScheduleJobs(in, file, scheduler);
      log.info("Successfully provisioned jobs/triggers from :"+ file);
    } catch (ObjectAlreadyExistsException e) {
      log.info("Not fully processing: "+ file+ " because some parts already exist");
    }
  }
}

代码示例来源:origin: myschedule/myschedule-quartz-extra

/**
 * Expose getter with public access.
 */
@Override
public List<JobDetail> getLoadedJobs() {
  return super.getLoadedJobs();
}

代码示例来源:origin: myschedule/myschedule-quartz-extra

/**
 * Expose getter with public access.
 */
@Override
public List<MutableTrigger> getLoadedTriggers() {
  return super.getLoadedTriggers();
}

代码示例来源:origin: org.springframework/spring-context-support

ClassLoadHelper clh = new ResourceLoaderClassLoadHelper(this.resourceLoader);
clh.initialize();
XMLSchedulingDataProcessor dataProcessor = new XMLSchedulingDataProcessor(clh);
for (String location : this.jobSchedulingDataLocations) {
  dataProcessor.processFileAndScheduleJobs(location, getScheduler());

代码示例来源:origin: quartz-scheduler/quartz

String name = getTrimmedToNullString(xpath, "q:name", node);
  String group = getTrimmedToNullString(xpath, "q:group", node);
  String name = getTrimmedToNullString(xpath, "q:name", node);
  String group = getTrimmedToNullString(xpath, "q:group", node);
Boolean overWrite = getBoolean(xpath, 
    "/q:job-scheduling-data/q:processing-directives/q:overwrite-existing-data", document);
if(overWrite == null) {
  log.debug("Directive 'overwrite-existing-data' not specified, defaulting to " + isOverWriteExistingData());
  setOverWriteExistingData(overWrite);
Boolean ignoreDupes = getBoolean(xpath, 
    "/q:job-scheduling-data/q:processing-directives/q:ignore-duplicates", document);
if(ignoreDupes == null) {
  log.debug("Directive 'ignore-duplicates' not specified, defaulting to " + isIgnoreDuplicates());
  setIgnoreDuplicates(ignoreDupes);
  String jobName = getTrimmedToNullString(xpath, "q:name", jobDetailNode);
  String jobGroup = getTrimmedToNullString(xpath, "q:group", jobDetailNode);
  String jobDescription = getTrimmedToNullString(xpath, "q:description", jobDetailNode);
  String jobClassName = getTrimmedToNullString(xpath, "q:job-class", jobDetailNode);
  t = getTrimmedToNullString(xpath, "q:durability", jobDetailNode);
  boolean jobDurability = (t != null) && t.equals("true");
  t = getTrimmedToNullString(xpath, "q:recover", jobDetailNode);
  boolean jobRecoveryRequested = (t != null) && t.equals("true");

代码示例来源:origin: quartz-scheduler/quartz

List<JobDetail> jobs = new LinkedList<JobDetail>(getLoadedJobs());
List<MutableTrigger> triggers = new LinkedList<MutableTrigger>( getLoadedTriggers());
Map<JobKey, List<MutableTrigger>> triggersByFQJobName = buildTriggersByFQJobNameMap(triggers);
    if (e.getCause() instanceof ClassNotFoundException && isOverWriteExistingData()) {
    if(!isOverWriteExistingData() && isIgnoreDuplicates()) {
      log.info("Not overwriting existing job: " + dupeJ.getKey());
      continue; // just ignore the entry
    if(!isOverWriteExistingData() && !isIgnoreDuplicates()) {
      throw new ObjectAlreadyExistsException(detail);
        if (isOverWriteExistingData()) {
          if (log.isDebugEnabled()) {
            log.debug(
                "Rescheduling job: " + trigger.getJobKey() + " with updated trigger: " + trigger.getKey());
        } else if (isIgnoreDuplicates()) {
          log.info("Not overwriting existing trigger: " + dupeT.getKey());
          continue; // just ignore the trigger (and possibly job)
    if(isOverWriteExistingData()) {
      if (log.isDebugEnabled()) {
        log.debug(
    else if(isIgnoreDuplicates()) {
      log.info("Not overwriting existing trigger: " + dupeT.getKey());

代码示例来源:origin: quartz-scheduler/quartz

/**
 * Process the xml file in the given location, and schedule all of the
 * jobs defined within it.
 * 
 * @param fileName
 *          meta data file name.
 */
public void processFileAndScheduleJobs(String fileName, Scheduler sched) throws Exception {
  processFileAndScheduleJobs(fileName, getSystemIdForFileName(fileName), sched);
}

代码示例来源:origin: org.opensingular/singular-schedule

ClassLoadHelper clh = new SimpleClassLoadHelper();
clh.initialize();
XMLSchedulingDataProcessor dataProcessor = new XMLSchedulingDataProcessor(clh);
for (String location : this.jobSchedulingDataLocations) {
  dataProcessor.processFileAndScheduleJobs(location, getScheduler());

代码示例来源:origin: quartz-scheduler/quartz

private void processFile(JobFile jobFile) {
  if (jobFile == null || !jobFile.getFileFound()) {
    return;
  }
  try {
    XMLSchedulingDataProcessor processor = 
      new XMLSchedulingDataProcessor(this.classLoadHelper);
    
    processor.addJobGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
    processor.addTriggerGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
    
    processor.processFileAndScheduleJobs(
        jobFile.getFileName(), 
        jobFile.getFileName(), // systemId 
        getScheduler());
  } catch (Exception e) {
    getLog().error("Error scheduling jobs: " + e.getMessage(), e);
  }
}

代码示例来源:origin: org.opensingular/singular-flow-schedule

ClassLoadHelper clh = new SimpleClassLoadHelper();
clh.initialize();
XMLSchedulingDataProcessor dataProcessor = new XMLSchedulingDataProcessor(clh);
for (String location : this.jobSchedulingDataLocations) {
  dataProcessor.processFileAndScheduleJobs(location, getScheduler());

代码示例来源:origin: org.opensingular/flow-schedule

ClassLoadHelper clh = new SimpleClassLoadHelper();
clh.initialize();
XMLSchedulingDataProcessor dataProcessor = new XMLSchedulingDataProcessor(clh);
for (String location : this.jobSchedulingDataLocations) {
  dataProcessor.processFileAndScheduleJobs(location, getScheduler());

代码示例来源:origin: apache/servicemix-bundles

ClassLoadHelper clh = new ResourceLoaderClassLoadHelper(this.resourceLoader);
clh.initialize();
XMLSchedulingDataProcessor dataProcessor = new XMLSchedulingDataProcessor(clh);
for (String location : this.jobSchedulingDataLocations) {
  dataProcessor.processFileAndScheduleJobs(location, getScheduler());

相关文章