History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QUARTZ-567
Type: Bug Bug
Status: Closed Closed
Resolution: Won't Fix
Priority: Major Major
Assignee: James House
Reporter: Jignesh Patel
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Quartz Scheduler

Unparseable date error

Created: 13/Mar/07 12:59 AM   Updated: 17/Mar/07 12:08 AM
Component/s: Triggers
Affects Version/s: 1.5.2
Fix Version/s: None

Environment: Windows 2000 Professional SP4, jboss-5.0.0.Beta1, Pentium 4, 1 GB RAM, jdk1.5.0
Issue Links:
Duplicate
This issue duplicates:
QUARTZ-153 JobSchedulingDataProcessor.DateConver... Major Closed
 


 Description  « Hide
Hi all,

I am using quartz 1.5.2 with jboss-5.0.0.Beta1.

I have loaded Quartz through the QuartzInitializerServlet. Below is my quatrz configuration file for jobs.
-------------------------
<?xml version='1.0' encoding='utf-8'?>
<quartz>
  <job>
    <job-detail>
     <name>DailyRoutine_Job_2</name>
     <group>DEFAULT</group>
     <description>
          DailyRoutine Job 2
     </description>
     <job-class>
            com.test.PlugInDumbJob
     </job-class>
     <volatility>false</volatility>
     <durability>false</durability>
     <recover>false</recover>
     <job-data-map allows-transient-data="true">
       <entry>
         <key>DocumentType</key>
         <value>DOCSIMAGE</value>
       </entry>
     </job-data-map>
    </job-detail>

<trigger>
<cron>
<name>DailyRoutine_Trigger_2</name>
<group>DEFAULT</group>
<job-name>DailyRoutine_Job_2</job-name>
<job-group>DEFAULT</job-group>
<start-time>11/21/2006</start-time>
<end-time>01/01/2050</end-time>
<cron-expression>0 53 11 ? * *</cron-expression>
</cron>
    </trigger>
  </job>
</quartz>
-------------------------

And I am using following code to schedule a job:
------------------------
JobSchedulingDataProcessor processor = new JobSchedulingDataProcessor( true, true , true );
processor.processFileAndScheduleJobs( "quartz-jobs.xml", scheduler, true );
------------------------

Here i am passing "scheduler" as a default quartz scheduler loaded from QuartzInitializerServlet.

And I am getting following error:
------------------------
2007-03-11 18:06:07,936 ERROR [org.apache.commons.digester.Digester] End event threw exception
org.apache.commons.beanutils.ConversionException: Unparseable date: "11/21/2006"
at org.quartz.xml.JobSchedulingDataProcessor$DateConverter.convert(JobSchedulingDataProcessor.java:1199)
at org.quartz.xml.JobSchedulingDataProcessor$SimpleConverterRule.end(JobSchedulingDataProcessor.java:1025)
at org.apache.commons.digester.Digester.endElement(Digester.java:1130)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1647)
at org.quartz.xml.JobSchedulingDataProcessor.processFile(JobSchedulingDataProcessor.java:430)
at org.quartz.xml.JobSchedulingDataProcessor.processFileAndScheduleJobs(JobSchedulingDataProcessor.java:499)
at org.quartz.xml.JobSchedulingDataProcessor.processFileAndScheduleJobs(JobSchedulingDataProcessor.java:485)
at com.pms.scheduler.ITMSJobManager.processJobsFromDirectory(ITMSJobManager.java:68)
at com.pms.server.ITMSInitializationServlet.init(ITMSInitializationServlet.java:155)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.apache.catalina.core.StandardContext.init(StandardContext.java:5285)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.web.tomcat.tc6.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:302)
at org.jboss.web.tomcat.tc6.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:129)
at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:355)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:88)
at org.jboss.web.deployers.WebModule.start(WebModule.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:184)
at $Proxy0.start(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at org.jboss.system.microcontainer.ServiceControllerContextAction.install(ServiceControllerContextAction.java:46)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:226)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:198)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:709)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:429)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:538)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:472)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:320)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:190)
at org.jboss.system.ServiceController.doChange(ServiceController.java:656)
at org.jboss.system.ServiceController.start(ServiceController.java:431)
at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:124)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:85)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:44)
at org.jboss.deployers.plugins.deployers.helpers.AbstractSimpleRealDeployer.deploy(AbstractSimpleRealDeployer.java:53)
at org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer.commitDeploy(AbstractSimpleDeployer.java:52)
at org.jboss.deployers.plugins.deployer.DeployerWrapper.commitDeploy(DeployerWrapper.java:145)
at org.jboss.deployers.plugins.deployment.MainDeployerImpl.commitDeploy(MainDeployerImpl.java:440)
at org.jboss.deployers.plugins.deployment.MainDeployerImpl.process(MainDeployerImpl.java:381)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:366)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootstrap(ProfileServiceBootstrap.java:246)
at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.java:401)
at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.java:340)
at org.jboss.Main.boot(Main.java:210)
at org.jboss.Main$1.run(Main.java:508)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.text.ParseException: Unparseable date: "2006-11-21"
at java.text.DateFormat.parse(DateFormat.java:335)
at org.quartz.xml.JobSchedulingDataProcessor$DateConverter.parseDate(JobSchedulingDataProcessor.java:1211)
at org.quartz.xml.JobSchedulingDataProcessor$DateConverter.convert(JobSchedulingDataProcessor.java:1188)
... 85 more
------------------------

After looking at (http://jira.opensymphony.com/browse/QUARTZ-153) i changed my code to following:
------------------------
JobSchedulingDataProcessor processor = new JobSchedulingDataProcessor( true, true , true );
String strDateFormats[] = { "MM/dd/yyyy" };
JobSchedulingDataProcessor.DateConverter dt = processor.new DateConverter( strDateFormats );
processor.processFileAndScheduleJobs( "quartz-jobs.xml", scheduler, true );
------------------------

But still I am getting the same error.

Then I tried to debug the org.quartz.xml.JobSchedulingDataProcessor.java file and I came to know that following date formats are being used to parse the Date values even if I explicitly gave one date format (MM/dd/yyyy) and due to these 2 formats it was throwing the ConversionException.
------------------------
protected static final String XSD_DATE_FORMAT = "yyyy-MM-dd'T'hh:mm:ss";
protected static final String DTD_DATE_FORMAT = "yyyy-MM-dd hh:mm:ss a";
------------------------

Please help me to resolve this error.

Thanks,
Jignesh


 All   Comments   Change History      Sort Order:
James House - [17/Mar/07 12:08 AM ]
forum issue.