quartz_jobs.xml在xml文档(x,y)中被解析为错误

时间:2014-08-06 07:42:32

标签: .net xml quartz-scheduler quartz.net

我正在尝试安装quartz.net 2.2.4并运行helloworld简单的工作。但我不能。 quartz_jobs.xml未被解析。它显然是读过但石英无法解析它。每次我尝试在控制台应用程序中启动调度程序时,Log都会给出以下错误。

ERROR | Error scheduling jobs: Error in xml document (2,2)

jobs.xml是一个有效的xml。而且任何其他有效的xml都会给我同样的错误。如果我尝试使用无效的xml提供石英,它会显示类似

的内容
ERROR | Error scheduling jobs: Element XXX is missing an end tag

请指教。

这是app.config

<configSections>
<section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
<sectionGroup name="common">
  <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
</configSections>
<quartz>
  <add key="quartz.scheduler.instanceName" value="MySchedular" />
  <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
  <add key="quartz.threadPool.threadCount" value="2" />
  <add key="quartz.threadPool.threadPriority" value="2" />
  <add key="quartz.jobStore.misfireThreshold" value="60000" />
  <add key="quartz.plugin.xml.type" value="Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz" />
  <add key="quartz.plugin.xml.fileNames" value="quartz_jobs.xml" />

我的quartz_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_1_8.xsd"
version="1.8">
<schedule>
<job>
  <name>SimpleJob</name>
  <group>GroupDummy</group>
  <description>This is a simple job</description>
  <job-class>App.Scheduler.SimpleJob</job-class>
</job>
<trigger>
  <cron>
    <name>dummyTriggerNameA</name>
    <job-name>JobA</job-name>
    <job-group>GroupDummy</job-group>
    <cron-expression>0/5 * * * * ?</cron-expression>
  </cron>
</trigger>
</schedule>
</job-scheduling-data>

这是控制台应用程序主

    static void Main(string[] args)
    {
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler sched = sf.GetScheduler();
            sched.Start();
     }

1 个答案:

答案 0 :(得分:1)

您使用的是错误的xml版本2.0。

将job-scheduling-data元素更改为此,如果您使用的是验证编辑器,则会看到错误:

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">

以下是您可以从版本2开始的quartz_jobs.xml示例:

<?xml version="1.0" encoding="UTF-8"?>

    真正   

<job>
    <name>sampleJob</name>
    <group>sampleGroup</group>
    <description>Sample job for Quartz Server</description>
    <job-type>Quartz.Server.SampleJob, Quartz.Server</job-type>
    <durable>true</durable>
    <recover>false</recover>
</job>

<trigger>
  <simple>
    <name>sampleSimpleTrigger</name>
    <group>sampleSimpleGroup</group>
    <description>Simple trigger to simply fire sample job</description>
    <job-name>sampleJob</job-name>
    <job-group>sampleGroup</job-group>
    <misfire-instruction>SmartPolicy</misfire-instruction>
    <repeat-count>-1</repeat-count>
    <repeat-interval>10000</repeat-interval>
  </simple>
</trigger>