Quarz使用时碰到的一个问题

在使用Quartz时,使用了quartz_job.xml来描述job与triger。

碰到问题如下:服务启动时提示

#1.5#0013724F07C4005C0000043F00001E1C00041A141F2FA90B#1154573631754#System.out#sap.com/app#System.out#Guest#2####4a5bb140229b11dbb4230013724f07c4#SAPEngine_Application_Thread[impl:3]_28##0#0#Info##Plain###0 [SAPEngine_Application_Thread[impl:3]_28] ERROR org.apache.commons.digester.Digester  - Parse Error at line 2 column 9: cvc-elt.1: Cannot find the declaration of element 'quartz'.
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'quartz'.
 at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
 at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
 at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
 at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
 at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
 at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
 at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
 at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(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.DTDConfiguration.parse(Unknown Source)
 at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
 at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
 at org.apache.commons.digester.Digester.parse(Digester.java:1548)
 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 org.quartz.plugins.xml.JobInitializationPlugin.processFile(JobInitializationPlugin.java:401)
 at org.quartz.plugins.xml.JobInitializationPlugin.start(JobInitializationPlugin.java:375)
 at org.quartz.core.QuartzScheduler.startPlugins(QuartzScheduler.java:1919)
 at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:397)
 at org.quartz.impl.StdScheduler.start(StdScheduler.java:147)
 at org.quartz.ee.servlet.QuartzInitializerServlet.init(QuartzInitializerServlet.java:158)
 at com.sap.engine.services.servlets_jsp.server.runtime.context.WebComponents.addServlet(WebComponents.java:138)
 at com.sap.engine.services.servlets_jsp.server.container.ApplicationThreadInitializer.loadServlets(ApplicationThreadInitializer.java:376)
 at com.sap.engine.services.servlets_jsp.server.container.ApplicationThreadInitializer.run(ApplicationThreadInitializer.java:110)
 at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
 at java.security.AccessController.doPrivileged(Native Method)
 at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
 at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159) 

quartz_job.xml文件为:

<?xml version="1.0" encoding="UTF-8"?>
<quartz>
 <job>
  <job-detail>
   <name>helloworld</name>
   <group>group1</group>
   <job-class>com.nci.test.Helloworld</job-class>
  </job-detail>
  <trigger>
   <cron>
    <name>test</name>
    <group>group1</group>
    <job-name>helloworld</job-name>
    <job-group>group1</job-group>
    <cron-expression>0 0/1 * * * ?</cron-expression>
   </cron>
  </trigger>
 </job>
</quartz>

原因是xml解析时校验出错,修改为如下后正确:

<?xml version="1.0" encoding="UTF-8"?>
<quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
        xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
        overwrite-existing-jobs="true">

 <job>
  <job-detail>
   <name>helloworld</name>
   <group>group1</group>
   <job-class>com.nci.test.Helloworld</job-class>
  </job-detail>
  <trigger>
   <cron>
    <name>test</name>
    <group>group1</group>
    <job-name>helloworld</job-name>
    <job-group>group1</job-group>
    <cron-expression>0 0/1 * * * ?</cron-expression>
   </cron>
  </trigger>
 </job>
</quartz>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值