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

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

本文整理了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

  1. private void processFile(JobFile jobFile) {
  2. if (jobFile == null || !jobFile.getFileFound()) {
  3. return;
  4. }
  5. try {
  6. XMLSchedulingDataProcessor processor =
  7. new XMLSchedulingDataProcessor(this.classLoadHelper);
  8. processor.addJobGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
  9. processor.addTriggerGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
  10. processor.processFileAndScheduleJobs(
  11. jobFile.getFileName(),
  12. jobFile.getFileName(), // systemId
  13. getScheduler());
  14. } catch (Exception e) {
  15. getLog().error("Error scheduling jobs: " + e.getMessage(), e);
  16. }
  17. }

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

  1. /**
  2. * Process the xml file in the given location, and schedule all of the
  3. * jobs defined within it.
  4. *
  5. * @param fileName
  6. * meta data file name.
  7. */
  8. public void processFileAndScheduleJobs(String fileName, Scheduler sched) throws Exception {
  9. processFileAndScheduleJobs(fileName, getSystemIdForFileName(fileName), sched);
  10. }

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

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

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

  1. String name = getTrimmedToNullString(xpath, "q:name", node);
  2. String group = getTrimmedToNullString(xpath, "q:group", node);
  3. String name = getTrimmedToNullString(xpath, "q:name", node);
  4. String group = getTrimmedToNullString(xpath, "q:group", node);
  5. Boolean overWrite = getBoolean(xpath,
  6. "/q:job-scheduling-data/q:processing-directives/q:overwrite-existing-data", document);
  7. if(overWrite == null) {
  8. log.debug("Directive 'overwrite-existing-data' not specified, defaulting to " + isOverWriteExistingData());
  9. setOverWriteExistingData(overWrite);
  10. Boolean ignoreDupes = getBoolean(xpath,
  11. "/q:job-scheduling-data/q:processing-directives/q:ignore-duplicates", document);
  12. if(ignoreDupes == null) {
  13. log.debug("Directive 'ignore-duplicates' not specified, defaulting to " + isIgnoreDuplicates());
  14. setIgnoreDuplicates(ignoreDupes);
  15. String jobName = getTrimmedToNullString(xpath, "q:name", jobDetailNode);
  16. String jobGroup = getTrimmedToNullString(xpath, "q:group", jobDetailNode);
  17. String jobDescription = getTrimmedToNullString(xpath, "q:description", jobDetailNode);
  18. String jobClassName = getTrimmedToNullString(xpath, "q:job-class", jobDetailNode);
  19. t = getTrimmedToNullString(xpath, "q:durability", jobDetailNode);
  20. boolean jobDurability = (t != null) && t.equals("true");
  21. t = getTrimmedToNullString(xpath, "q:recover", jobDetailNode);
  22. boolean jobRecoveryRequested = (t != null) && t.equals("true");

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

  1. List<JobDetail> jobs = new LinkedList<JobDetail>(getLoadedJobs());
  2. List<MutableTrigger> triggers = new LinkedList<MutableTrigger>( getLoadedTriggers());
  3. Map<JobKey, List<MutableTrigger>> triggersByFQJobName = buildTriggersByFQJobNameMap(triggers);
  4. if (e.getCause() instanceof ClassNotFoundException && isOverWriteExistingData()) {
  5. if(!isOverWriteExistingData() && isIgnoreDuplicates()) {
  6. log.info("Not overwriting existing job: " + dupeJ.getKey());
  7. continue; // just ignore the entry
  8. if(!isOverWriteExistingData() && !isIgnoreDuplicates()) {
  9. throw new ObjectAlreadyExistsException(detail);
  10. if (isOverWriteExistingData()) {
  11. if (log.isDebugEnabled()) {
  12. log.debug(
  13. "Rescheduling job: " + trigger.getJobKey() + " with updated trigger: " + trigger.getKey());
  14. } else if (isIgnoreDuplicates()) {
  15. log.info("Not overwriting existing trigger: " + dupeT.getKey());
  16. continue; // just ignore the trigger (and possibly job)
  17. if(isOverWriteExistingData()) {
  18. if (log.isDebugEnabled()) {
  19. log.debug(
  20. else if(isIgnoreDuplicates()) {
  21. log.info("Not overwriting existing trigger: " + dupeT.getKey());

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

  1. public void init() throws ParserConfigurationException, XPathException, ParseException, IOException, ValidationException, SchedulerException, SAXException, ClassNotFoundException {
  2. boolean noFiles = files == null || files.isEmpty();
  3. if (noFiles || !schedulerManager.isAutoProvisioning()) {
  4. log.info("Not auto provisioning jobs: "+ ((noFiles)?"no files.":String.join(", ", files)));
  5. return;
  6. }
  7. Scheduler scheduler = schedulerManager.getScheduler();
  8. ClassLoadHelper clh = new CascadingClassLoadHelper();
  9. clh.initialize();
  10. for (String file : files ) {
  11. XMLSchedulingDataProcessor proc = new XMLSchedulingDataProcessor(clh);
  12. InputStream in = getClass().getResourceAsStream(file);
  13. if (in == null) {
  14. throw new IllegalArgumentException("Couldn't find resource on classpath: "+ file);
  15. }
  16. try {
  17. proc.processStreamAndScheduleJobs(in, file, scheduler);
  18. log.info("Successfully provisioned jobs/triggers from :"+ file);
  19. } catch (ObjectAlreadyExistsException e) {
  20. log.info("Not fully processing: "+ file+ " because some parts already exist");
  21. }
  22. }
  23. }

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

  1. /**
  2. * Expose getter with public access.
  3. */
  4. @Override
  5. public List<JobDetail> getLoadedJobs() {
  6. return super.getLoadedJobs();
  7. }

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

  1. /**
  2. * Expose getter with public access.
  3. */
  4. @Override
  5. public List<MutableTrigger> getLoadedTriggers() {
  6. return super.getLoadedTriggers();
  7. }

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

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

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

  1. String name = getTrimmedToNullString(xpath, "q:name", node);
  2. String group = getTrimmedToNullString(xpath, "q:group", node);
  3. String name = getTrimmedToNullString(xpath, "q:name", node);
  4. String group = getTrimmedToNullString(xpath, "q:group", node);
  5. Boolean overWrite = getBoolean(xpath,
  6. "/q:job-scheduling-data/q:processing-directives/q:overwrite-existing-data", document);
  7. if(overWrite == null) {
  8. log.debug("Directive 'overwrite-existing-data' not specified, defaulting to " + isOverWriteExistingData());
  9. setOverWriteExistingData(overWrite);
  10. Boolean ignoreDupes = getBoolean(xpath,
  11. "/q:job-scheduling-data/q:processing-directives/q:ignore-duplicates", document);
  12. if(ignoreDupes == null) {
  13. log.debug("Directive 'ignore-duplicates' not specified, defaulting to " + isIgnoreDuplicates());
  14. setIgnoreDuplicates(ignoreDupes);
  15. String jobName = getTrimmedToNullString(xpath, "q:name", jobDetailNode);
  16. String jobGroup = getTrimmedToNullString(xpath, "q:group", jobDetailNode);
  17. String jobDescription = getTrimmedToNullString(xpath, "q:description", jobDetailNode);
  18. String jobClassName = getTrimmedToNullString(xpath, "q:job-class", jobDetailNode);
  19. t = getTrimmedToNullString(xpath, "q:durability", jobDetailNode);
  20. boolean jobDurability = (t != null) && t.equals("true");
  21. t = getTrimmedToNullString(xpath, "q:recover", jobDetailNode);
  22. boolean jobRecoveryRequested = (t != null) && t.equals("true");

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

  1. List<JobDetail> jobs = new LinkedList<JobDetail>(getLoadedJobs());
  2. List<MutableTrigger> triggers = new LinkedList<MutableTrigger>( getLoadedTriggers());
  3. Map<JobKey, List<MutableTrigger>> triggersByFQJobName = buildTriggersByFQJobNameMap(triggers);
  4. if (e.getCause() instanceof ClassNotFoundException && isOverWriteExistingData()) {
  5. if(!isOverWriteExistingData() && isIgnoreDuplicates()) {
  6. log.info("Not overwriting existing job: " + dupeJ.getKey());
  7. continue; // just ignore the entry
  8. if(!isOverWriteExistingData() && !isIgnoreDuplicates()) {
  9. throw new ObjectAlreadyExistsException(detail);
  10. if (isOverWriteExistingData()) {
  11. if (log.isDebugEnabled()) {
  12. log.debug(
  13. "Rescheduling job: " + trigger.getJobKey() + " with updated trigger: " + trigger.getKey());
  14. } else if (isIgnoreDuplicates()) {
  15. log.info("Not overwriting existing trigger: " + dupeT.getKey());
  16. continue; // just ignore the trigger (and possibly job)
  17. if(isOverWriteExistingData()) {
  18. if (log.isDebugEnabled()) {
  19. log.debug(
  20. else if(isIgnoreDuplicates()) {
  21. log.info("Not overwriting existing trigger: " + dupeT.getKey());

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

  1. /**
  2. * Process the xml file in the given location, and schedule all of the
  3. * jobs defined within it.
  4. *
  5. * @param fileName
  6. * meta data file name.
  7. */
  8. public void processFileAndScheduleJobs(String fileName, Scheduler sched) throws Exception {
  9. processFileAndScheduleJobs(fileName, getSystemIdForFileName(fileName), sched);
  10. }

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

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

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

  1. private void processFile(JobFile jobFile) {
  2. if (jobFile == null || !jobFile.getFileFound()) {
  3. return;
  4. }
  5. try {
  6. XMLSchedulingDataProcessor processor =
  7. new XMLSchedulingDataProcessor(this.classLoadHelper);
  8. processor.addJobGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
  9. processor.addTriggerGroupToNeverDelete(JOB_INITIALIZATION_PLUGIN_NAME);
  10. processor.processFileAndScheduleJobs(
  11. jobFile.getFileName(),
  12. jobFile.getFileName(), // systemId
  13. getScheduler());
  14. } catch (Exception e) {
  15. getLog().error("Error scheduling jobs: " + e.getMessage(), e);
  16. }
  17. }

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

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

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

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

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

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

相关文章