title: Quartz.NET from config.xml in ASP.NET
body: <p>Can someone advise on what I am doing wrong.
  I am trying to setup quartz so that on startup it will read an xml config file. Inside the file there is a job that activates my <code>HelloEmail_Job.cs</code> class (it is created correctly, extending <code>IJob</code> with the logic in the execute method). The xml also has a cron trigger for the job that will fire every minute (purely for testing).</p>
  
  <p>But everything starts up without an error, but the job never fires. I am sure I am configuring wrong.</p>
  
  <p>I have a singleton that handles the generation of my scheduler, the scheduler starts on startup of my app (in the <code>global.asax</code> file)</p>
  
  <pre><code>    NameValueCollection properties = new NameValueCollection();
      properties["quartz.scheduler.instanceName"] = "RemoteServer";
  
      ////// set thread pool info
      properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
      properties["quartz.threadPool.threadCount"] = "5";
      properties["quartz.threadPool.threadPriority"] = "Normal";
  
      properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
      properties["quartz.jobStore.useProperties"] = "true";
      properties["quartz.jobStore.dataSource"] = "default";
      properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
      properties["quartz.jobStore.lockHandler.type"] = "Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz";
  
      properties["quartz.dataSource.default.connectionString"] = "Data Source=CRAIG-PC\\SQLEXPRESS;Initial Catalog=MCWdb;User ID=sa;Password=mastercrud;";
      properties["quartz.dataSource.default.provider"] = "SqlServer-20";
  
      // job initialization plugin handles our xml reading, without it defaults are used
      properties["quartz.plugin.xml.type"] = "Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz";
      properties["quartz.plugin.xml.fileNames"] = "~/quartz_jobs.xml";
  
      ISchedulerFactory sf = new StdSchedulerFactory(properties);
      _sched = sf.GetScheduler();
  </code></pre>
  
  <p>My <code>quartz_jobs.xml</code> file looks like this:</p>
  
  <pre><code>        &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  
          &lt;job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          version="2.0"&gt;
  
            &lt;processing-directives&gt;
              &lt;overwrite-existing-data&gt;true&lt;/overwrite-existing-data&gt;
            &lt;/processing-directives&gt;
  
            &lt;schedule&gt;        
                  &lt;job&gt; 
                    &lt;job-detail&gt; 
                      &lt;name&gt;MyJob&lt;/name&gt; 
                      &lt;group&gt;MyJobs&lt;/group&gt; 
                      &lt;description&gt;sends out a test email&lt;/description&gt;
                        &lt;job-type&gt;HelloEmail_Job&lt;/job-type&gt;
                        &lt;volatile&gt;false&lt;/volatile&gt; 
                      &lt;durable&gt;true&lt;/durable&gt; 
                      &lt;recover&gt;false&lt;/recover&gt; 
                      &lt;job-data-map&gt; 
                        &lt;entry&gt; 
                          &lt;key&gt;Body&lt;/key&gt; 
                          &lt;value&gt;Hello From your website!!!!!!!!&lt;/value&gt; 
                        &lt;/entry&gt; 
                      &lt;/job-data-map&gt; 
                    &lt;/job-detail&gt; 
                    &lt;trigger&gt; 
                      &lt;cron&gt; 
                        &lt;name&gt;MyJobTrigger&lt;/name&gt; 
                        &lt;group&gt;MyJobs&lt;/group&gt; 
                        &lt;description&gt;A description&lt;/description&gt; 
                        &lt;job-name&gt;MyJob&lt;/job-name&gt; 
                        &lt;job-group&gt;MyJobs&lt;/job-group&gt; 
                        &lt;cron-expression&gt;0 0/1 * 1/1 * ? *&lt;/cron-expression&gt; 
                      &lt;/cron&gt; 
                    &lt;/trigger&gt; 
                  &lt;/job&gt;
              &lt;/schedule&gt;
  
          &lt;/job-scheduling-data&gt;
  </code></pre>
  
  <p>I know that the scheduler is running correctly for <em>ad hoc</em> jobs with a simple trigger because when my app creates them and schedules them dynamically it works perfectly. But I want the logic made repeatable (through a cron), and configurable through a xml.</p>
  
  <p>My gut feeling is that the JOB_TYPE value is wrong.</p>