dropwizard Sundail thru jobs.xml中的作业调度

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

我正在开发一个基于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-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元素。删除标记中的所有内容,使其仅