dropwizard Sundail thru jobs.xml中的作业调度
我正在开发一个基于Dropwizard的应用程序,并希望使用Sundail作为作业调度程序。我要求作业配置在配置文件中,这样我就可以在不重新部署的情况下更改cron表达式。 我遵循了教程,但得到了NullPointerException:dropwizard Sundail thru jobs.xml中的作业调度,xml,nullpointerexception,dropwizard,job-scheduling,Xml,Nullpointerexception,Dropwizard,Job Scheduling,我正在开发一个基于Dropwizard的应用程序,并希望使用Sundail作为作业调度程序。我要求作业配置在配置文件中,这样我就可以在不重新部署的情况下更改cron表达式。 我遵循了教程,但得到了NullPointerException: INFO [2015-08-04 02:05:01,553] org.quartz.plugins.xml.XMLSchedulingDataProcessor: Parsing XML file: jobs.xml ERROR [2015-08-0
INFO [2015-08-04 02:05:01,553] org.quartz.plugins.xml.XMLSchedulingDataProcessor: Parsing XML file: jobs.xml
ERROR [2015-08-04 02:05:01,557] org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin: Error scheduling jobs: null
! java.lang.NullPointerException: null
! at java.net.URL.<init>(URL.java:525) ~[na:1.8.0_25]
! ... 53 common frames omitted
! Causing: java.net.MalformedURLException: null
! at java.net.URL.<init>(URL.java:620) ~[na:1.8.0_25]
! at java.net.URL.<init>(URL.java:483) ~[na:1.8.0_25]
! at java.net.URL.<init>(URL.java:432) ~[na:1.8.0_25]
! at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:619) ~[na:1.8.0_25]
! at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189) ~[na:1.8.0_25]
! at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812) ~[na:1.8.0_25]
! at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) ~[na:1.8.0_25]
! at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[na:1.8.0_25]
! at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243) ~[na:1.8.0_25]
! at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348) ~[na:1.8.0_25]
! at org.quartz.plugins.xml.XMLSchedulingDataProcessor.process(XMLSchedulingDataProcessor.java:277) ~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! at org.quartz.plugins.xml.XMLSchedulingDataProcessor.processFile(XMLSchedulingDataProcessor.java:256) ~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! at org.quartz.plugins.xml.XMLSchedulingDataProcessor.processFile(XMLSchedulingDataProcessor.java:237) ~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! at org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin.start(XMLSchedulingDataProcessorPlugin.java:133) ~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! at org.quartz.QuartzScheduler.startPlugins(QuartzScheduler.java:1102) [FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! at org.quartz.QuartzScheduler.start(QuartzScheduler.java:211) [FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! at com.xeiam.sundial.ee.SundialInitializerListener.contextInitialized(SundialInitializerListener.java:123) [FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
INFO[2015-08-04 02:05:01553]org.quartz.plugins.xml.XMLSchedulingDataProcessor:解析xml文件:jobs.xml
错误[2015-08-04 02:05:01557]org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin:调度作业时出错:null
! java.lang.NullPointerException:null
! 在java.net.URL.(URL.java:525)~[na:1.8.0\u25]
! ... 省略了53个公共框架
! 原因:java.net.MalformedURLException:null
! 在java.net.URL.(URL.java:620)~[na:1.8.0\u25]
! 在java.net.URL.(URL.java:483)~[na:1.8.0\u 25]
! 在java.net.URL.(URL.java:432)~[na:1.8.0\u 25]
! 在com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:619)~[na:1.8.025]
! 在com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)~[na:1.8.025]
! 在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)~[na:1.8.0\u 25]
! 在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)~[na:1.8.0\u 25]
! 在com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)~[na:1.8.025]
! 在com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)~[na:1.8.025]
! 在com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348)~[na:1.8.025]
! 在org.quartz.plugins.xml.XMLSchedulingDataProcessor.process(XMLSchedulingDataProcessor.java:277)~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! 在org.quartz.plugins.xml.XMLSchedulingDataProcessor.processFile(XMLSchedulingDataProcessor.java:256)~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! 在org.quartz.plugins.xml.XMLSchedulingDataProcessor.processFile(XMLSchedulingDataProcessor.java:237)~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! 在org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin.start(XMLSchedulingDataProcessorPlugin.java:133)~[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! 在org.quartz.QuartzScheduler.startPlugins(QuartzScheduler.java:1102)[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! 在org.quartz.QuartzScheduler.start(QuartzScheduler.java:211)[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
! 在com.xeiam.sundail.ee.sundaialinitializerlistener.contextInitialized(sundaialinitializerlistener.java:123)[FlSlotOptimizer-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
我跟踪了错误,它似乎找到了jobs.xml文件,但无法解析它
My jobs.xml:
<?xml version="1.0" encoding="UTF-8"?>
<job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd"
version="2.0"
>
<schedule>
<!-- job with cron trigger -->
<job>
<name>DailyOptimizationRun</name>
<job-class>com.tmrnd.swift.fl.slotoptimizer.jobs.OptimizationRun</job-class>
<concurrency-allowed>false</concurrency-allowed>
</job>
<trigger>
<cron>
<name>DailyOptimizationRun-1630-Trigger</name>
<job-name>DailyOptimizationRun</job-name>
<cron-expression>0 30 16 * * ?</cron-expression>
</cron>
</trigger>
<!--<trigger>
<cron>
<name>DailyOptimizationRun-1800-Trigger</name>
<job-name>DailyOptimizationRun</job-name>
<cron-expression>0 0 18 * * ?</cron-expression>
</cron>
</trigger>-->
</schedule>
</job-scheduling-data>
每日优化运行
com.tmrnd.swift.fl.slotoptimizer.jobs.OptimizationRun
假的
DailyOptimizationRun-1630-Trigger
每日优化运行
0 30 16 * * ?
关于如何解决这个问题,您有什么想法吗?请查看网站上的一个工作示例。我认为您的问题在于
xml元素。删除标记中的所有内容,使其仅