<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://x-spirit.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fx-spirit.spaces.live.com%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>X-Spirit</title><description>Always Be Ahead Of Time</description><link>http://X-Spirit.spaces.live.com/</link><language>en-US</language><pubDate>Thu, 25 Sep 2008 12:45:29 GMT</pubDate><lastBuildDate>Thu, 25 Sep 2008 12:45:29 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><live:identity><live:id>-3743893519549122624</live:id><live:alias>X-Spirit</live:alias></live:identity><image><title>X-Spirit</title><url>http://blufiles.storage.live.com/y1paaNwqgFugKDsRDFQHJtX2ZlLBms9EPu9F6NkI3KzpyEdz8GK7UGzO8g-P3v0K93u</url><link>http://X-Spirit.spaces.live.com/</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Quartz调度框架应用总结（续2）</title><link>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!554.entry</link><description>&lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;好，说了这么多，最后让我们来看看如何在&lt;/span&gt;&lt;span lang=EN-US&gt;Web&lt;/span&gt;&lt;span style="font-family:宋体"&gt;应用中使用&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;由于&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的配置相当的个性化，所以，在&lt;/span&gt;&lt;span lang=EN-US&gt;Web&lt;/span&gt;&lt;span style="font-family:宋体"&gt;应用中，我们可以通过一个&lt;/span&gt;&lt;span lang=EN-US&gt;quartz.properties&lt;/span&gt;&lt;span style="font-family:宋体"&gt;文件来配置&lt;/span&gt;&lt;span lang=EN-US&gt;QuartzServlet&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。不过之前让我们先来看看&lt;/span&gt;&lt;span lang=EN-US&gt;web.xml&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中如何配置&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;table style="margin-left:15.75pt;border-top-style:none;border-right-style:none;border-left-style:none;border-collapse:collapse;border-bottom-style:none" cellspacing=0 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:black 1pt solid;padding-right:5.4pt;border-top:black 1pt solid;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p style="text-align:center" align=center&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;web.xml&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-top-width:1pt;border-right:black 1pt solid;padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;border-top-color:black;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&amp;lt;servlet&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;servlet-name&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;             QuartzInitializer&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/servlet-name&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;display-name&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;             Quartz Initializer Servlet&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/display-name&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;servlet-class&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;             org.quartz.ee.servlet.QuartzInitializerServlet&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/servlet-class&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;load-on-startup&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;             -1&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/load-on-startup&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;init-param&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;param-name&amp;gt;config-file&amp;lt;/param-name&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;param-value&amp;gt;/quartz.properties&amp;lt;/param-value&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/init-param&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;init-param&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;param-name&amp;gt;shutdown-on-unload&amp;lt;/param-name&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/init-param&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;init-param&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;param-name&amp;gt;start-scheduler-on-load&amp;lt;/param-name&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/init-param&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    &amp;lt;/servlet&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;这里，&lt;/span&gt;&lt;span lang=EN-US&gt;load-on-startup&lt;/span&gt;&lt;span style="font-family:宋体"&gt;是指定&lt;/span&gt;&lt;span lang=EN-US&gt;QuartzServlet&lt;/span&gt;&lt;span style="font-family:宋体"&gt;是否随应用启动，&lt;/span&gt;&lt;span lang=EN-US&gt;-1&lt;/span&gt;&lt;span style="font-family:宋体"&gt;表示否，正数表示随应用启动，数值越小，则优先权越高。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;初始化参数中，&lt;/span&gt;&lt;span lang=EN-US&gt;config-file&lt;/span&gt;&lt;span style="font-family:宋体"&gt;里面可以指定&lt;/span&gt;&lt;span lang=EN-US&gt;QuartzServlet&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的配置文件，这里我们用的是&lt;/span&gt;&lt;span lang=EN-US&gt;quartz.properties&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;shutdown-on-unload&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，表示是否在卸载应用时同时停止调度，该参数推荐&lt;/span&gt;&lt;span lang=EN-US&gt;true&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，否则你的&lt;/span&gt;&lt;span lang=EN-US&gt;tomcat&lt;/span&gt;&lt;span style="font-family:宋体"&gt;进程可能停不下来。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;start-scheduler-on-load&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，表示应用加载时就启动调度器，如果为&lt;/span&gt;&lt;span lang=EN-US&gt;false&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，则&lt;/span&gt;&lt;span lang=EN-US&gt;quartz.properties&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中指定的调度器在用户访问这个&lt;/span&gt;&lt;span lang=EN-US&gt;Servlet&lt;/span&gt;&lt;span style="font-family:宋体"&gt;之后才会加载，在此之前，如果你通过&lt;/span&gt;&lt;span lang=EN-US&gt;ServletContext&lt;/span&gt;&lt;span style="font-family:宋体"&gt;查找&lt;/span&gt;&lt;span lang=EN-US&gt;SchedulerFactory&lt;/span&gt;&lt;span style="font-family:宋体"&gt;是可以找到的，但是要得到具体的&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，那么你一定会发现&lt;/span&gt;&lt;span lang=EN-US&gt;Jvm&lt;/span&gt;&lt;span style="font-family:宋体"&gt;抛出了一个&lt;/span&gt;&lt;span lang=EN-US&gt;NullPointerExcetion&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;下面就来看看&lt;/span&gt;&lt;span lang=EN-US&gt;quartz.properties&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的真面目。&lt;/span&gt;&lt;/font&gt; &lt;table style="margin-left:15.75pt;border-top-style:none;border-right-style:none;border-left-style:none;border-collapse:collapse;border-bottom-style:none" cellspacing=0 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:black 1pt solid;padding-right:5.4pt;border-top:black 1pt solid;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p style="text-align:center" align=center&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;quartz.properties&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-top-width:1pt;border-right:black 1pt solid;padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;border-top-color:black;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;org.quartz.scheduler.instanceName = PushDBScheduler&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;org.quartz.scheduler.instanceId = one&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;org.quartz.threadPool.threadCount = 4&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;org.quartz.threadPool.threadPriority = 4&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;org.quartz.plugin.jobInitializer.fileName = quartz_job.xml&lt;/font&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;我想不用多说，大家都看出来了，首先配置了基本的&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例名，并分配了&lt;/span&gt;&lt;span lang=EN-US&gt;ID&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，然后为这个调度器设定了线程池，后面是初始化插件。初始化插件是&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;非常实用的功能，你可以用这个功能来实现&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的扩展性。这里配置的插件是读取&lt;/span&gt;&lt;span lang=EN-US&gt;job XML&lt;/span&gt;&lt;span style="font-family:宋体"&gt;文件，让调度器自动载入&lt;/span&gt;&lt;span lang=EN-US&gt;Job&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。这个插件现在支持读取多个&lt;/span&gt;&lt;span lang=EN-US&gt;job XML&lt;/span&gt;&lt;span style="font-family:宋体"&gt;文件，但是我现在还没有试过，感兴趣的读者可以自己尝试。另外就是有一个&lt;/span&gt;&lt;span lang=EN-US&gt;scanInterval&lt;/span&gt;&lt;span style="font-family:宋体"&gt;属性，表示每隔几秒自动扫描一次&lt;/span&gt;&lt;span lang=EN-US&gt;job XML&lt;/span&gt;&lt;span style="font-family:宋体"&gt;文件，我现在也没有试过，感兴趣的读者可以自己试验一下。注意，该参数设定为&lt;/span&gt;&lt;span lang=EN-US&gt;0&lt;/span&gt;&lt;span style="font-family:宋体"&gt;表示不扫描。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;最后，我们来看看&lt;/span&gt;&lt;span lang=EN-US&gt;job XML&lt;/span&gt;&lt;span style="font-family:宋体"&gt;文件，这里以&lt;/span&gt;&lt;span lang=EN-US&gt;quartz_job.xml&lt;/span&gt;&lt;span style="font-family:宋体"&gt;为例&lt;/span&gt;&lt;/font&gt; &lt;table style="border-top-style:none;border-right-style:none;border-left-style:none;border-collapse:collapse;border-bottom-style:none" cellspacing=0 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:black 1pt solid;padding-right:5.4pt;border-top:black 1pt solid;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p style="text-align:center" align=center&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;quartz_job.xml&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-top-width:1pt;border-right:black 1pt solid;padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;border-top-color:black;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&amp;lt;quartz&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    &amp;lt;job&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;job-detail&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;name&amp;gt;ScanItemsInDB&amp;lt;/name&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;group&amp;gt;Scanning&amp;lt;/group&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;job-class&amp;gt;com.testquartz.ScanDB&amp;lt;/job-class&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;job-data-map allows-transient-data=&amp;quot;true&amp;quot;&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                 &amp;lt;entry&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                  &amp;lt;key&amp;gt;testmode&amp;lt;/key&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                  &amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                 &amp;lt;/entry&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;/job-data-map&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/job-detail&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;trigger&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;cron&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                &amp;lt;name&amp;gt;t1&amp;lt;/name&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                &amp;lt;group&amp;gt; Scanning &amp;lt;/group&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                &amp;lt;job-name&amp;gt; ScanItemsInDB &amp;lt;/job-name&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                &amp;lt;job-group&amp;gt; Scanning &amp;lt;/job-group&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                &amp;lt;cron-expression&amp;gt;0 0/5 * * * ?&amp;lt;/cron-expression&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &amp;lt;/cron&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        &amp;lt;/trigger&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    &amp;lt;/job&amp;gt;  &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&amp;lt;/quartz&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-family:宋体"&gt;&lt;font color="#ffffff"&gt;这个文件真是非常显而易见了，我就不多说了，大家自己研究吧。&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;然后你只要自己写一下&lt;/span&gt;&lt;span lang=EN-US&gt;ScanDB&lt;/span&gt;&lt;span style="font-family:宋体"&gt;这个类就可以了。&lt;/span&gt;&lt;/font&gt; &lt;table style="border-top-style:none;border-right-style:none;border-left-style:none;border-collapse:collapse;border-bottom-style:none" cellspacing=0 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:black 1pt solid;padding-right:5.4pt;border-top:black 1pt solid;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p style="text-align:center" align=center&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;ScanDB.java&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-top-width:1pt;border-right:black 1pt solid;padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:426.1pt;border-top-color:black;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=710&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;public class ScanDB implements Job {&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;     public void execute(JobExecutionContext context) throws JobExecutionException {&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;          //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;你的代码&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;     }&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;注意&lt;/span&gt;&lt;span lang=EN-US&gt;JobExecutionContext&lt;/span&gt;&lt;span style="font-family:宋体"&gt;这个类。这个类是用来存取任务执行时的相关信息的，从中我们可以获取当前作业的&lt;/span&gt;&lt;span lang=EN-US&gt;Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;、&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;、&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;等等。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;当然，&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;也有对应的&lt;/span&gt;&lt;span lang=EN-US&gt;SchedulerContext&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，具体的用途很像&lt;/span&gt;&lt;span lang=EN-US&gt;ServletContext&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。有兴趣的读者自己研究吧。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;另外就是可以提供一个提示：在一个作业执行的时候，你就可以设定另外一个调度器，去执行另一个&lt;/span&gt;&lt;span lang=EN-US&gt;Job&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，这样你可以每个一段时间扫描一下数据库，然后看一看数据库里有没有下一个时间段待发的邮件，然后调用一个新的调度器实例，以便在指定的发送时间将其发送出去。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;好了，&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的相关知识就总结到这里。谢谢大家。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;a href="http://x-spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!553.entry" target="_blank"&gt;上一篇 Quartz调度框架应用总结（续1）&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3743893519549122624&amp;page=RSS%3a+Quartz%e8%b0%83%e5%ba%a6%e6%a1%86%e6%9e%b6%e5%ba%94%e7%94%a8%e6%80%bb%e7%bb%93%ef%bc%88%e7%bb%ad2%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=x-spirit.spaces.live.com&amp;amp;GT1=X-Spirit"&gt;</description><category>计算机与 Internet</category><comments>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!554.entry#comment</comments><guid isPermaLink="true">http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!554.entry</guid><pubDate>Thu, 25 Sep 2008 11:57:24 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://X-Spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!554/comments/feed.rss</wfw:commentRss><wfw:comment>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!554.entry#comment</wfw:comment><dcterms:modified>2008-09-25T12:07:52Z</dcterms:modified></item><item><title>Quartz调度框架应用总结（续1）</title><link>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!553.entry</link><description>&lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span style="font-family:宋体"&gt;&lt;font color="#ffffff"&gt;三．触发器&lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;       Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;是一个抽象类，它有三个子类：&lt;/span&gt;&lt;span lang=EN-US&gt;SimpleTrigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，&lt;/span&gt;&lt;span lang=EN-US&gt;CronTrigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和&lt;/span&gt;&lt;span lang=EN-US&gt;NthIncludedDayTrigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。前两个比较常用。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;1&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。&lt;/span&gt;&lt;span lang=EN-US&gt;SimpleTrigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;：这是一个非常简单的类，我们可以定义作业的触发时间，并选择性的设定重复间隔和重复次数。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;2&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。&lt;/span&gt;&lt;span lang=EN-US&gt;CronTrigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;：这个触发器的功能比较强大，而且非常灵活，但是你需要掌握有关&lt;/span&gt;&lt;span lang=EN-US&gt;Cron&lt;/span&gt;&lt;span style="font-family:宋体"&gt;表达式的知识。如果你是一个&lt;/span&gt;&lt;span lang=EN-US&gt;Unix&lt;/span&gt;&lt;span style="font-family:宋体"&gt;系统爱好者，你很可能已经具备这种知识，但是如果你不了解&lt;/span&gt;&lt;span lang=EN-US&gt;Cron&lt;/span&gt;&lt;span style="font-family:宋体"&gt;表达式，请看下面的&lt;/span&gt;&lt;span lang=EN-US&gt;Cron&lt;/span&gt;&lt;span style="font-family:宋体"&gt;详解：&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;Cron&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表达式由&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;6&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;或&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;7&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;个由空格分隔的时间字段组成，如表&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;1&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;所示：&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt;text-align:center" align=center&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;1 Cron&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表达式时间字段&lt;/span&gt;&lt;/font&gt; &lt;div align=center&gt; &lt;table style="border-right:#cccccc 1pt outset;border-top:#cccccc 1pt outset;border-left:#cccccc 1pt outset;border-bottom:#cccccc 1pt outset" cellspacing=1 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;位置&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;时间域名&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;允许值&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;允许的特殊字符&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;1&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;秒&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;0-59&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;, - * /&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;2&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;分钟&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;0-59&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;, - * /&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;3&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;小时&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;0-23&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;, - * /&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;4&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;日期&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;1-31&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;, - * ? / L W C &lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;5&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;月份&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;1-12&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;, - * /&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;6&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;星期&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;1-7&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;, - * ? / L C #&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:32.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=54&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;7&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:49.2pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=82&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;年&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;(&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;可选&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;)&lt;/span&gt;&lt;/font&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:79.8pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=133&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;空值&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;1970-2099&lt;/span&gt;&lt;/font&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:174pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=290&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;, - * /&lt;/font&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;Cron&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表达式的时间字段除允许设置数值外，还可使用一些特殊的字符，提供列表、范围、通配符等功能，细说如下：&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;星号&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;(*)&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：可用在所有字段中，表示对应时间域的每一个时刻，例如，&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;*&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;在分钟字段时，表示&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;“&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每分钟&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;”&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;问号（&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;?&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;）：该字符只在日期和星期字段中使用，它通常指定为&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;“&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;无意义的值&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;”&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，相当于点位符；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;减号&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;(-)&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：表达一个范围，如在小时字段中使用&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;“10-12”&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，则表示从&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;到&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;12&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点，即&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10,11,12&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;逗号&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;(,)&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：表达一个列表值，如在星期字段中使用&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;“MON,WED,FRI”&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，则表示星期一，星期三和星期五；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;斜杠&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;(/)&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;x/y&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表达一个等步长序列，&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;x&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;为起始值，&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;y&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;为增量步长值。如在分钟字段中使用&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;0/15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，则表示为&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;0,15,30&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;和&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;45&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;秒，而&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;5/15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;在分钟字段中表示&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;5,20,35,50&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，你也可以使用&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;*/y&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，它等同于&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;0/y&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;L&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：该字符只在日期和星期字段中使用，代表&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;“Last”&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;的意思，但它在两个字段中意思不同。&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;L&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;在日期字段中，表示这个月份的最后一天，如一月的&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;31&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号，非闰年二月的&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;28&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号；如果&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;L&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;用在星期中，则表示星期六，等同于&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;7&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;。但是，如果&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;L&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;出现在星期字段里，而且在前面有一个数值&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;X&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，则表示&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;“&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;这个月的最后&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;X&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;”&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，例如，&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;6L&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示该月的最后星期五；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;W&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：该字符只能出现在日期字段里，是对前导日期的修饰，表示离该日期最近的工作日。例如&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15W&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示离该月&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号最近的工作日，如果该月&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号是星期六，则匹配&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号星期五；如果&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;日是星期日，则匹配&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;16&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号星期一；如果&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号是星期二，那结果就是&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号星期二。但必须注意关联的匹配日期不能够跨月，如你指定&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;1W&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，如果&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;1&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号是星期六，结果匹配的是&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;3&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;号星期一，而非上个月最后的那天。&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;W&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;字符串只能指定单一日期，而不能指定日期范围；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;LW&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;组合：在日期字段可以组合使用&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;LW&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，它的意思是当月的最后一个工作日；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;井号&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;(#)&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：该字符只能在星期字段中使用，表示当月某个工作日。如&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;6#3&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示当月的第三个星期五&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;(6&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示星期五，&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;#3&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示当前的第三个&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;)&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，而&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;4#5&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示当月的第五个星期三，假设当月没有第五个星期三，忽略不触发；&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt;font-family:'Arial','sans-serif'"&gt;●&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt; C&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：该字符只在日期和星期字段中使用，代表&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;“Calendar”&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;的意思。它的意思是计划所关联的日期，如果日期没有被关联，则相当于日历中所有日期。例如&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;5C&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;在日期字段中就相当于日历&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;5&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;日以后的第一天。&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;1C&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;在星期字段中相当于星期日后的第一天。&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;Cron&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表达式对特殊字符的大小写不敏感，对代表星期的缩写英文大小写也不敏感。表&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;2&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;下面给出一些完整的&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;Cron&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示式的实例：&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt;text-align:center" align=center&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;2 Cron&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;表示式示例&lt;/span&gt;&lt;/font&gt; &lt;div align=center&gt; &lt;table style="border-right:#cccccc 1pt outset;border-top:#cccccc 1pt outset;border-left:#cccccc 1pt outset;border-bottom:#cccccc 1pt outset" cellspacing=1 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;表示式&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;&lt;font color="#ffffff"&gt;说明&lt;/font&gt;&lt;/span&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 0 12 * * ? &amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;12&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点运行&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 ? * *&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;运行&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 * * ?&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;运行&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 * * ? *&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;运行&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 * * ? 2008&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;在&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;2008&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;年的每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;：&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;运行&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 * 14 * * ?&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点到&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点之间每分钟运行一次，开始于&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:00&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，结束于&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:59&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 0/5 14 * * ?&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点到&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点每&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;5&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分钟运行一次，开始于&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:00&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，结束于&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:55&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 0/5 14,18 * * ?&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点到&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点每&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;5&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分钟运行一次，此外每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;18&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点到&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;19&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点每&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;5&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;钟也运行一次。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 0-5 14 * * ?&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:00&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;点到&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:05&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，每分钟运行一次。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 10,44 14 ? 3 WED&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;3&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;月每周三的&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:10&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分到&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;14:44&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;，每分钟运行一次。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 ? * MON-FRI&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每周一，二，三，四，五的&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分运行。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 15 * ?&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每月&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;日&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分运行。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 L * ?&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每月最后一天&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分运行。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 ? * 6L&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每月最后一个星期五&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分运行。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 ? * 6L 2007-2009&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;在&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;2007,2008,2009&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;年每个月的最后一个星期五的&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分运行。&lt;/span&gt;&lt;/font&gt; &lt;tr&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:141pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=235&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;&lt;font color="#ffffff"&gt;&amp;quot;0 15 10 ? * 6#3&amp;quot;&lt;/font&gt;&lt;/span&gt; &lt;td style="border-right:#cccccc 1pt inset;padding-right:0.6pt;border-top:#cccccc 1pt inset;padding-left:0.6pt;padding-bottom:0.6pt;border-left:#cccccc 1pt inset;width:194.4pt;padding-top:0.6pt;border-bottom:#cccccc 1pt inset" valign=top width=324&gt; &lt;p style="margin-left:13.5pt;text-indent:-13.5pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;每月第三个星期五的&lt;/span&gt;&lt;span lang=EN-US style="font-size:9pt"&gt;10:15&lt;/span&gt;&lt;span style="font-size:9pt;font-family:宋体"&gt;分运行。&lt;/span&gt;&lt;/font&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;a href="http://x-spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!550.entry" target="_blank"&gt;上一篇 Quartz调度框架应用总结&lt;/a&gt;   &lt;a href="http://x-spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!554.entry" target="_blank"&gt;下一篇 Quartz调度框架应用总结（续2）&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3743893519549122624&amp;page=RSS%3a+Quartz%e8%b0%83%e5%ba%a6%e6%a1%86%e6%9e%b6%e5%ba%94%e7%94%a8%e6%80%bb%e7%bb%93%ef%bc%88%e7%bb%ad1%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=x-spirit.spaces.live.com&amp;amp;GT1=X-Spirit"&gt;</description><category>计算机与 Internet</category><comments>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!553.entry#comment</comments><guid isPermaLink="true">http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!553.entry</guid><pubDate>Thu, 25 Sep 2008 11:53:50 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://X-Spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!553/comments/feed.rss</wfw:commentRss><wfw:comment>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!553.entry#comment</wfw:comment><dcterms:modified>2008-09-25T12:06:44Z</dcterms:modified></item><item><title>XMLConfiguration使用手记</title><link>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!552.entry</link><description>&lt;p&gt;XMLConfiguration是apache工具集里的一个用于对XML文件进行读写的东东，使用起来很方便。下面我将简单的举几个使用例子。 &lt;br&gt;1,读 &lt;br&gt;这里是我们的XML文件:unit.xml &lt;br&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt; &lt;br&gt;&amp;lt;tree&amp;gt; &lt;br&gt;&amp;lt;unit id=&amp;quot;root&amp;quot; type=&amp;quot;root&amp;quot;&amp;gt; &lt;br&gt;&amp;lt;back-ground&amp;gt;/root/Desktop/image/4.jpg &amp;lt;/back-ground&amp;gt; &lt;br&gt;&amp;lt;unit id=&amp;quot;1&amp;quot; type=&amp;quot;alarm&amp;quot;&amp;gt; &lt;br&gt;&amp;lt;back-ground&amp;gt;/root/Desktop/image/5.jpg &amp;lt;/back-ground&amp;gt; &lt;br&gt;&amp;lt;father&amp;gt;root &amp;lt;/father&amp;gt; &lt;br&gt;&amp;lt;position&amp;gt;x=250:y=225 &amp;lt;/position&amp;gt; &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;&amp;lt;/tree&amp;gt; &lt;br&gt;下面是java代码: &lt;br&gt;//创建XMLConfiguration &lt;br&gt;private static XMLConfiguration getConfiguration(File file) { &lt;br&gt;if (file == null || !file.exists()) &lt;br&gt;return null; &lt;br&gt;XMLConfiguration config = null; &lt;br&gt;try { &lt;br&gt;config = new XMLConfiguration(file); &lt;br&gt;} catch (ConfigurationException e) { &lt;br&gt;e.printStackTrace(); &lt;br&gt;} &lt;br&gt;config.setEncoding(&amp;quot;utf-8&amp;quot;);//设置编码 &lt;br&gt;return config; &lt;br&gt;} &lt;br&gt;......... &lt;br&gt;XMLConfiguration tool = getConfiguration(&amp;quot;/home/dx/unit.xml&amp;quot;); &lt;br&gt;//获取节点值 &lt;br&gt;String rootBackGround = tool.getString(&amp;quot;unit.back-ground&amp;quot;);//这里获取的值是/root/Desktop/image/4.jpg &lt;br&gt;String alarmBackGround = tool.getString(&amp;quot;unit.unit.back-ground&amp;quot;);//这里获取的值是/root/Desktop/image/5.jpg &lt;br&gt;//获取节点属性 &lt;br&gt;String rootID = tool.getString(&amp;quot;unit[@id]&amp;quot;);//这里获取的值是root &lt;br&gt;String alarmID = tool.getString(&amp;quot;unit.unit[@id]&amp;quot;);//这里获取的值是1 &lt;br&gt;//获取重复节点值 &lt;br&gt;如果有两个以上并级的节点如何区分呢？比如在第一级unit下有两个并列的unit: &lt;br&gt;...................................... &lt;br&gt;&amp;lt;unit id=&amp;quot;root&amp;quot; type=&amp;quot;root&amp;quot;&amp;gt; &lt;br&gt;&amp;lt;back-ground&amp;gt;/root/Desktop/image/4.jpg &amp;lt;/back-ground&amp;gt; &lt;br&gt;&amp;lt;unit id=&amp;quot;1&amp;quot; type=&amp;quot;alarm&amp;quot;&amp;gt; &lt;br&gt;&amp;lt;back-ground&amp;gt;/root/Desktop/image/5.jpg &amp;lt;/back-ground&amp;gt; &lt;br&gt;&amp;lt;father&amp;gt;root &amp;lt;/father&amp;gt; &lt;br&gt;&amp;lt;position&amp;gt;x=250:y=225 &amp;lt;/position&amp;gt; &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;&amp;lt;unit id=&amp;quot;2&amp;quot; type=&amp;quot;alarm&amp;quot;&amp;gt; &lt;br&gt;&amp;lt;back-ground&amp;gt;/root/Desktop/image/6.jpg &amp;lt;/back-ground&amp;gt; &lt;br&gt;&amp;lt;father&amp;gt;root &amp;lt;/father&amp;gt; &lt;br&gt;&amp;lt;position&amp;gt;x=300:y=270 &amp;lt;/position&amp;gt; &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;............................... &lt;br&gt;String firstID = tool.getString(&amp;quot;unit.unit(0)[@id]&amp;quot;);//这里获取的值是1 &lt;br&gt;String secondID = tool.getString(&amp;quot;unit.unit(1)[@id]&amp;quot;);//这里获取的值是2 &lt;br&gt;写操作基本基本更读的代码差不多(请先看上一篇:XMLConfiguration使用手记（1 读）) 只是这里我们用addProperty或setProperty &lt;br&gt;config.setProperty(&amp;quot;unit.unit(0)[@id]&amp;quot;, &amp;quot;0&amp;quot;); &lt;br&gt;config.setProperty(&amp;quot;unit.unit(1)[@id]&amp;quot;, &amp;quot;1&amp;quot;); &lt;br&gt;当然还是更读一样 要首先有个xml文件(空的也可以 但必须有根节点，其他节点会自动生成，当然也可以修改指定节点，方法还是一样的)。 &lt;br&gt;这里要注意 XMLConfiguration默认情况下以','为分割符如果一个节点值里出现逗号 他会把他分开成两个节点例如： &lt;br&gt;config.setProperty(&amp;quot;unit.unit&amp;quot;, &amp;quot;a,b&amp;quot;); &lt;br&gt;我们想要的结果是 &lt;br&gt;............................... &lt;br&gt;&amp;lt;unit&amp;gt; &lt;br&gt;    a,b &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;..................... &lt;br&gt;可结果会变成 &lt;br&gt;............................... &lt;br&gt;&amp;lt;unit&amp;gt; &lt;br&gt;    a &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;&amp;lt;unit&amp;gt; &lt;br&gt;    b &lt;br&gt;&amp;lt;/unit&amp;gt; &lt;br&gt;..................... &lt;br&gt;如果想要使用逗号 可以设置XMLConfiguration的delimiter例如 &lt;br&gt;XMLConfiguration.setDelimiter(' ');//设置空格为分割符. &lt;br&gt;别望了写完save一下. &lt;br&gt;config.save(); &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3743893519549122624&amp;page=RSS%3a+XMLConfiguration%e4%bd%bf%e7%94%a8%e6%89%8b%e8%ae%b0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=x-spirit.spaces.live.com&amp;amp;GT1=X-Spirit"&gt;</description><comments>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!552.entry#comment</comments><guid isPermaLink="true">http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!552.entry</guid><pubDate>Thu, 25 Sep 2008 11:46:23 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://X-Spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!552/comments/feed.rss</wfw:commentRss><wfw:comment>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!552.entry#comment</wfw:comment><dcterms:modified>2008-09-25T11:46:23Z</dcterms:modified></item><item><title>Quartz调度框架应用总结</title><link>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!550.entry</link><description>&lt;div style="layout-grid:15.6pt none"&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;前一段时间项目需要做一个定时发送消息的功能，该功能依附于&lt;/span&gt;&lt;span lang=EN-US&gt;Web&lt;/span&gt;&lt;span style="font-family:宋体"&gt;应用上，即当&lt;/span&gt;&lt;span lang=EN-US&gt;Web&lt;/span&gt;&lt;span style="font-family:宋体"&gt;应用启动时，该应用就开始作用。起先决定使用&lt;/span&gt;&lt;span lang=EN-US&gt;java.util.Timer&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和&lt;/span&gt;&lt;span lang=EN-US&gt;java.util.TimerTask&lt;/span&gt;&lt;span style="font-family:宋体"&gt;来实现，但是研究了一下以后发现&lt;/span&gt;&lt;span lang=EN-US&gt;Java Timer&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的功能比较弱，而且其线程的范围不受&lt;/span&gt;&lt;span lang=EN-US&gt;Web&lt;/span&gt;&lt;span style="font-family:宋体"&gt;应用的约束。后来发现了&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;这个开源的调度框架，非常有趣。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;首先我们要得到&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的最新发布版。目前其最新的版本是&lt;/span&gt;&lt;span lang=EN-US&gt;1.6&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。我们可以从以下地址获得它的完整下载包，包中可谓汤料十足，不仅有我们要的&lt;/span&gt;&lt;span lang=EN-US&gt;quartz.jar&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，更包含多个例程和详细的文档，从&lt;/span&gt;&lt;span lang=EN-US&gt;API&lt;/span&gt;&lt;span style="font-family:宋体"&gt;到配置文件的&lt;/span&gt;&lt;span lang=EN-US&gt;XSD&lt;/span&gt;&lt;span style="font-family:宋体"&gt;一应俱全。感兴趣的朋友也可以在&lt;/span&gt;&lt;span lang=EN-US&gt;src&lt;/span&gt;&lt;span style="font-family:宋体"&gt;目录下找到该项目的源码一看究竟。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;废话少说，下面就来看一看这个东东是怎么在&lt;/span&gt;&lt;span lang=EN-US&gt;Java Web Application&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中得以使用的。&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;首先不得不提出的是&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的三个核心概念：调度器、触发器、作业。让我们来看看他们是如何工作的吧。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:21.6pt;text-indent:-21.6pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;一．&lt;/span&gt;&lt;span style="font-family:宋体"&gt;作业总指挥——调度器&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:-18pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;1．&lt;span style="font:7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;接口&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;该接口或许是整个&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中最最上层的东西了，它提携了所有触发器和作业，使它们协调工作。每个&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;都存有&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和&lt;/span&gt;&lt;span lang=EN-US&gt;Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的注册，一个&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中可以注册多个&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和多个&lt;/span&gt;&lt;span lang=EN-US&gt;Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，这些&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和&lt;/span&gt;&lt;span lang=EN-US&gt;Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;都可以通过&lt;/span&gt;&lt;span lang=EN-US&gt;group name&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和他们自身的&lt;/span&gt;&lt;span lang=EN-US&gt;name&lt;/span&gt;&lt;span style="font-family:宋体"&gt;加以区分，以保持这些&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和&lt;/span&gt;&lt;span lang=EN-US&gt;Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的实例在同一个&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;内不会冲突。所以，每个&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中的&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的组名是唯一的，本身的名字也是唯一的（就好像是一个&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的&lt;/span&gt;&lt;span lang=EN-US&gt;ID&lt;/span&gt;&lt;span style="font-family:宋体"&gt;）。&lt;/span&gt;&lt;span lang=EN-US&gt;Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;也是如此。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例由&lt;/span&gt;&lt;span lang=EN-US&gt;SchedulerFactory&lt;/span&gt;&lt;span style="font-family:宋体"&gt;产生，一旦&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例生成后，我们就可以通过生成它的工厂来找到该实例，获取它相关的属性。下面的代码为我们展示了如何从一个&lt;/span&gt;&lt;span lang=EN-US&gt;Servlet&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中找到&lt;/span&gt;&lt;span lang=EN-US&gt;SchedulerFactory&lt;/span&gt;&lt;span style="font-family:宋体"&gt;并获得相应的&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例，通过该实例，我们可以获取当前作业中的&lt;/span&gt;&lt;span lang=EN-US&gt;testmode&lt;/span&gt;&lt;span style="font-family:宋体"&gt;属性，来判断该作业是否工作于测试模式。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;/span&gt; &lt;table style="margin-left:18pt;border-top-style:none;border-right-style:none;border-left-style:none;border-collapse:collapse;border-bottom-style:none" cellspacing=0 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:black 1pt solid;padding-right:5.4pt;border-top:black 1pt solid;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:633.75pt;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=1056&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;//&lt;/span&gt;&lt;span style="font-family:宋体"&gt;从当前&lt;/span&gt;&lt;span lang=EN-US&gt;Servlet&lt;/span&gt;&lt;span style="font-family:宋体"&gt;上下文中查找&lt;/span&gt;&lt;span lang=EN-US&gt;StdSchedulerFactory&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            ServletContext ctx=request.getSession().getServletContext();&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            StdSchedulerFactory factory = (StdSchedulerFactory) ctx.getAttribute(&amp;quot;org.quartz.impl.StdSchedulerFactory.KEY&amp;quot;);&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            Scheduler sch = null;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            try {&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;                //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;获取调度器&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                sch = factory.getScheduler(&amp;quot;SchedulerName&amp;quot;);&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;                //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;通过调度器实例获得&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，注意领会&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetailName&lt;/span&gt;&lt;span style="font-family:宋体"&gt;和&lt;/span&gt;&lt;span lang=EN-US&gt;GroupName&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的用法&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                JobDetail jd=sch.getJobDetail(&amp;quot;JobDetailName&amp;quot;, &amp;quot;GroupName&amp;quot;);&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                Map jobmap1=jd.getJobDataMap();&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                istest=jobmap1.get(&amp;quot;testmode&amp;quot;)+&amp;quot;&amp;quot;;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            } catch (Exception se) { &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;                //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;如果得不到当前作业，则从配置文件中读取&lt;/span&gt;&lt;span lang=EN-US&gt;testmode&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;                ReadXML(&amp;quot;job.xml&amp;quot;).get(“job.testmode”);&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;            }&lt;/font&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例生成后，它处于&lt;/span&gt;&lt;span lang=EN-US&gt;&amp;quot;stand-by&amp;quot;&lt;/span&gt;&lt;span style="font-family:宋体"&gt;模式，需要调用其&lt;/span&gt;&lt;span lang=EN-US&gt;start&lt;/span&gt;&lt;span style="font-family:宋体"&gt;方法来使之投入运作。&lt;/span&gt;&lt;/font&gt; &lt;table style="margin-left:18pt;border-top-style:none;border-right-style:none;border-left-style:none;border-collapse:collapse;border-bottom-style:none" cellspacing=0 cellpadding=0 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-right:black 1pt solid;padding-right:5.4pt;border-top:black 1pt solid;padding-left:5.4pt;padding-bottom:0cm;border-left:black 1pt solid;width:633.75pt;padding-top:0cm;border-bottom:black 1pt solid" valign=top width=1056&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;public class SendMailShedule{&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;    //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;设置标准&lt;/span&gt;&lt;span lang=EN-US&gt;SchedulerFactory&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    static SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    static Scheduler sched;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    public static void run()throws Exception{&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;        //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;生成&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;             sched = schedFact.getScheduler(); &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;        //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;创建一个&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例，对应的&lt;/span&gt;&lt;span lang=EN-US&gt;Job&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实现类是&lt;/span&gt;&lt;span lang=EN-US&gt;SendMailJob&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;             JobDetail jobDetail = new JobDetail(&amp;quot;myJob&amp;quot;,sched.DEFAULT_GROUP,SendMailJob.class);&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;        //&lt;/span&gt;&lt;span style="font-family:宋体"&gt;设置&lt;/span&gt;&lt;span lang=EN-US&gt;CronTrigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;，利用&lt;/span&gt;&lt;span lang=EN-US&gt;Cron&lt;/span&gt;&lt;span style="font-family:宋体"&gt;表达式设定触发时间&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        CronTrigger trigger = new CronTrigger(&amp;quot;myTrigger&amp;quot;,&amp;quot;test&amp;quot;,&amp;quot;0 0 8 1 * ?&amp;quot;);&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        sched.scheduleJob(jobDetail, trigger); &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        sched.start();&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    }&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    &lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    public static void  stop()throws Exception{&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;        sched.shutdown();&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;    }&lt;/font&gt;&lt;/span&gt; &lt;p style="text-indent:0cm"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;span style="font-family:宋体"&gt;&lt;font color="#ffffff"&gt;另外，我们也可以通过监听器来跟踪作业和触发器的工作状态。&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;/span&gt; &lt;p&gt;&lt;span style="font-family:宋体"&gt;&lt;font color="#ffffff"&gt;二．作业及其相关&lt;/font&gt;&lt;/span&gt; &lt;p style="margin-left:18pt;text-indent:-18pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;1．&lt;span style="font:7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US&gt;Job&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;作业实际上是一个接口，任何一个作业都可以写成一个实现该接口的类，并实现其中的&lt;/span&gt;&lt;span lang=EN-US&gt;execute()&lt;/span&gt;&lt;span style="font-family:宋体"&gt;方法，来完成具体的作业任务。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:-18pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;2．&lt;span style="font:7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;JobDetail&lt;/span&gt;&lt;span style="font-family:宋体"&gt;可以指定我们作业的详细信息，比如可以通过反射机制动态的加载某个作业的实例，可以指定某个作业在单个调度器内的作业组名称和具体的作业名称，可以指定具体的触发器。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;一个作业实例可以对应多个触发器（也就是说学校每天&lt;/span&gt;&lt;span lang=EN-US&gt;10&lt;/span&gt;&lt;span style="font-family:宋体"&gt;点放一次眼保健操录音，下午&lt;/span&gt;&lt;span lang=EN-US&gt;3&lt;/span&gt;&lt;span style="font-family:宋体"&gt;点半可以再放一次），但是一个触发器只能对应一个作业实例（&lt;/span&gt;&lt;span lang=EN-US&gt;10&lt;/span&gt;&lt;span style="font-family:宋体"&gt;点钟的时候学校不可能同时播放眼保健操和广播体操的录音）。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:-18pt"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;3．&lt;span style="font:7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;这是一个给作业提供数据支持的数据结构，使用方法和&lt;/span&gt;&lt;span lang=EN-US&gt;java.util.Map&lt;/span&gt;&lt;span style="font-family:宋体"&gt;一样，非常方便。当一个作业被分配给调度器时，&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例就随之生成。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;Job&lt;/span&gt;&lt;span style="font-family:宋体"&gt;有一个&lt;/span&gt;&lt;span lang=EN-US&gt;StatefulJob&lt;/span&gt;&lt;span style="font-family:宋体"&gt;子接口，代表有状态的任务，该接口是一个没有方法的标签接口，其目的是让&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;知道任务的类型，以便采用不同的执行方案。无状态任务在执行时拥有自己的&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;拷贝，对&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的更改不会影响下次的执行。而有状态任务共享共享同一个&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例，每次任务执行对&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;所做的更改会保存下来，后面的执行可以看到这个更改，也即每次执行任务后都会对后面的执行发生影响。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;正因为这个原因，无状态的&lt;/span&gt;&lt;span lang=EN-US&gt;Job&lt;/span&gt;&lt;span style="font-family:宋体"&gt;可以并发执行，而有状态的&lt;/span&gt;&lt;span lang=EN-US&gt;StatefulJob&lt;/span&gt;&lt;span style="font-family:宋体"&gt;不能并发执行，这意味着如果前次的&lt;/span&gt;&lt;span lang=EN-US&gt;StatefulJob&lt;/span&gt;&lt;span style="font-family:宋体"&gt;还没有执行完毕，下一次的任务将阻塞等待，直到前次任务执行完毕。有状态任务比无状态任务需要考虑更多的因素，程序往往拥有更高的复杂度，因此除非必要，应该尽量使用无状态的&lt;/span&gt;&lt;span lang=EN-US&gt;Job&lt;/span&gt;&lt;span style="font-family:宋体"&gt;。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;如果&lt;/span&gt;&lt;span lang=EN-US&gt;Quartz&lt;/span&gt;&lt;span style="font-family:宋体"&gt;使用了数据库持久化任务调度信息，无状态的&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;仅会在&lt;/span&gt;&lt;span lang=EN-US&gt;Scheduler&lt;/span&gt;&lt;span style="font-family:宋体"&gt;注册任务时保持一次，而有状态任务对应的&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;在每次执行任务后都会进行保存。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;实例也可以与一个触发器相关联。这种情况下，对于同一作业的不同触发器，我们可以在&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;中添加不同的数据，以便作业在不同时间执行时能够提供更为灵活的数据支持（学校上午放眼保健操录音第一版，下午放第二版）。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:18pt;text-indent:0cm"&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;不管是有状态还是无状态的任务，在任务执行期间对&lt;/span&gt;&lt;span lang=EN-US&gt;Trigger&lt;/span&gt;&lt;span style="font-family:宋体"&gt;的&lt;/span&gt;&lt;span lang=EN-US&gt;JobDataMap&lt;/span&gt;&lt;span style="font-family:宋体"&gt;所做的更改都不会进行持久，也即不会对下次的执行产生影响。&lt;/span&gt;&lt;/font&gt; &lt;p style="margin-left:15.75pt;text-indent:-15.75pt"&gt; &lt;p&gt;&lt;font color="#ffffff"&gt;&lt;span style="font-family:宋体"&gt;&lt;/span&gt;&lt;/font&gt;&lt;span lang=EN-US&gt;&lt;font color="#ffffff"&gt; &lt;a href="http://x-spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!553.entry" target="_blank"&gt;下一篇 Quartz调度框架应用总结（续1）&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3743893519549122624&amp;page=RSS%3a+Quartz%e8%b0%83%e5%ba%a6%e6%a1%86%e6%9e%b6%e5%ba%94%e7%94%a8%e6%80%bb%e7%bb%93&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=x-spirit.spaces.live.com&amp;amp;GT1=X-Spirit"&gt;</description><category>计算机与 Internet</category><comments>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!550.entry#comment</comments><guid isPermaLink="true">http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!550.entry</guid><pubDate>Mon, 22 Sep 2008 01:46:18 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://X-Spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!550/comments/feed.rss</wfw:commentRss><wfw:comment>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!550.entry#comment</wfw:comment><dcterms:modified>2008-09-25T12:03:25Z</dcterms:modified></item><item><title>Didn't  we almost have it all</title><link>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!537.entry</link><description>&lt;p&gt;一个闷热的下午，&lt;br&gt;一些老照片，&lt;br&gt;一个孤独的人， &lt;br&gt;一首伤感的歌…… &lt;p&gt;曾经斑驳的墙壁，&lt;br&gt;曾经卡通式的衬布，&lt;br&gt;曾经杂乱的书架，&lt;br&gt;曾经淘气的笑脸…… &lt;p&gt;或者一切都只是过去，&lt;br&gt;或者一切都刚刚开始，&lt;br&gt;或者还不确定的现在，&lt;br&gt;或者已确定的未来…… &lt;p&gt;The sky is also pure blue,&lt;br&gt;'cause I'll be driving on my way,&lt;br&gt;The meteor is shining...&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3743893519549122624&amp;page=RSS%3a+Didn't++we+almost+have+it+all&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=x-spirit.spaces.live.com&amp;amp;GT1=X-Spirit"&gt;</description><category>有感而发</category><comments>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!537.entry#comment</comments><guid isPermaLink="true">http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!537.entry</guid><pubDate>Mon, 30 Jun 2008 01:52:48 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://X-Spirit.spaces.live.com/blog/cns!CC0B04AE126337C0!537/comments/feed.rss</wfw:commentRss><wfw:comment>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!537.entry#comment</wfw:comment><dcterms:modified>2008-06-30T01:52:48Z</dcterms:modified></item><item><title>（报复性）国家汉语六级考试试卷</title><link>http://X-Spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!534.entry</link><description>&lt;p&gt;  &lt;p&gt; 【2008-02-17 12:15】 &lt;p&gt;第一部分：听力理解（20分钟） &lt;p&gt;第一大题&lt;br&gt;说明向导：在这一大题中，你将听到10个短对话。每个短对话结束后，将有一个关于这个短对话的提问。每个短对话和它的问题都将只读一遍。每个问题提出后都将有短暂的停顿。在停顿的时间中，你必须阅读四个标有a），B），C）和D）的选项，并决定哪个选项是最佳答案。然后在答题卡上相应的选项中央划一条横线。 &lt;p&gt;举例：你将会听到：&lt;br&gt;男：我们什么时候开始工作呢，珍妮？&lt;br&gt;女：明天上午9点开始吧。但是我们必须抓紧时间，因为我们不得不在下午2点之前完成所有的工作。&lt;br&gt;问：他俩可以工作多长时间？&lt;br&gt;你将读到：a）2小时。 B）3小时。&lt;br&gt;C）4小时。 D）5小时。&lt;br&gt;从该对话中我们知道这两个人是在说他们将于上午9点开始工作并必须在下午2点完成。因此，D）“5小时”是最确切的答案。你应该在答题卡上选项D）的中央划一条横线。&lt;br&gt;1.女：回来了？今天车子挤吗？&lt;br&gt;男：还可以。第一站和我一起上来10个下去6个。第二站上来5个下去15个。&lt;br&gt;第三站上来17个下去20个。第四站上来24个和我一起下去7个。&lt;br&gt;问：这个男的一共坐了几站车？&lt;br&gt;a）10站。 B）4站。 C）3站。 D）5站。&lt;br&gt;2．男：来我老家开分基地吧，把农民都拉过来。&lt;br&gt;女：哎，只能这样了。&lt;br&gt;问：这个场景最可能发生在什么地方？&lt;br&gt;a）小村落。 B）网吧。 C）农田里。 D）基地组织里。&lt;br&gt;3．女：你知道吗？中国队昨天以6比0击败了韩国队！&lt;br&gt;男：啊？真的吗？万岁！&lt;br&gt;问：从这个对话中我们可以推断出什么？&lt;br&gt;a）韩国队退步了。 B）中国队进步了。 C）这个女的很兴奋。 D）这个男的很好骗。&lt;br&gt;4．男：对不起，我忘记做了。&lt;br&gt;女：你有没有长脑子啊？怎么不会忘记吃饭呀？&lt;br&gt;问：这个女的最可能是什么身份？&lt;br&gt;a）中学教师。 B）博士生导师。 C）精神病患者。 D）机器狂人。&lt;br&gt;5．女：这衣服好象太小了点啊？我还是去别处看看吧。&lt;br&gt;男：不会啊小姐，我还没见过有人穿这身衣裳比你更美的呢！&lt;br&gt;问：这个男的为何这样说？&lt;br&gt;a）他是个色狼。 B）想追求这个女的。 C）睁着眼说瞎话。 D）他在说梦话。&lt;br&gt;6．男：做我的女朋友吧，我会对你好的。&lt;br&gt;女：其实你是个很不错的男孩，和我在一起只会糟蹋了你。&lt;br&gt;问：这个女的这样说是什么意思？&lt;br&gt;a）她觉得自己配不上他。 B）谦虚几句。 C）答非所问。 D）拒绝他。&lt;br&gt;7．女：我这次英语6级答案对下来不算作文85分，不知道能不能过，担心死了。&lt;br&gt;男：你。。。。。。&lt;br&gt;问：为什么这个男的说不出话？&lt;br&gt;a）他也不知道她能不能过。 B）他不忍心告诉她结果。&lt;br&gt;C）他没听清楚她的话。 D）他准备扁她一顿。&lt;br&gt;8．男：你们老师有没有划过什么翎子啦？&lt;br&gt;女：没有啊，这次大家都死定了。&lt;br&gt;问：从对话中我们可以看出什么？&lt;br&gt;a）快考试了。 B）战争要爆发了。 C）地球要爆炸了。 D）老师不负责任。&lt;br&gt;9．女：明天要交论文了，能借用一下你的电脑吗？&lt;br&gt;男：你去问别人借吧，我的电脑连不上网。&lt;br&gt;问：男的为什么让女的去问别人借电脑？&lt;br&gt;a）他的Word是网络版的。 B）连不上网的电脑对写论文没有帮助。&lt;br&gt;B）他很小气。 D）他的电脑坏了。&lt;br&gt;10．男：待会儿你就坐在我边上，和我打手势就行了。&lt;br&gt;女：不好吧，这样会不会太危险了？&lt;br&gt;问：他们将要去做什么？&lt;br&gt;a）学习打手语。 B）做警察卧底。 C）参加考试。 D）培养感情。&lt;br&gt;（本大题共10分，一题1分） &lt;br&gt;第二大题：复式听写&lt;br&gt;曾经有一份(S1)____的感情(S2)____我面前，我没有(S3)____，等我(S4)____的时候我才(S5)____莫及，人世间最 (S6)____的事(S7)____于此，如果上天(S8)______________________________，我会对那个女孩子(S9)______________________________。如果非要(S10) ______________________________，我希望是……一万年！&lt;br&gt;（本大题共10分，前面七空0.5分一个，后面三空一共6.5分）&lt;br&gt;第二部分：阅读理解（35分钟）&lt;br&gt;说明向导：在这一部分有4篇文章。在每篇文章后面有若干问题。每个问题都有四个选项并标有a），B），C）和D）。你应当选择最恰当的一个答案并在答题卡上相应的选项中央划一条横线。&lt;br&gt;第一篇文章&lt;br&gt;第21到25题将建立在下面这段文章中：&lt;br&gt;中国有一种植物叫葳蕤。&lt;br&gt;从前有个人叫蔺芈。他想用一张罽子去捕一只鸩。不小心被葳蕤绊了一个跟头。他很踯蹰该不该再去捉。忽然他发现了一根扃,于是便用扃去打鸩,可是鸩飞走了。蔺芈气愤地说：“再抓到你就把你做成俎醢！”&lt;br&gt;虽然恨,但此时却没办法。于是蔺芈只好采了几根葳蕤回家了。&lt;br&gt;21．葳蕤为什么要绊蔺芈？&lt;br&gt;a）蔺芈犯贱。&lt;br&gt;B）这是自然规律。&lt;br&gt;C）蔺芈走路不小心。&lt;br&gt;D）文章中没有给出。&lt;br&gt;22．蔺芈为什么要捉鸩？&lt;br&gt;a）想烤了吃。&lt;br&gt;B）捉回来虐待。&lt;br&gt;C）他爱上了鸩。&lt;br&gt;D）文章中没有给出。&lt;br&gt;23．从上下文来看，“踯蹰”（第二段第一行）的意思是__________。&lt;br&gt;a）犹豫。&lt;br&gt;B）磨蹭。&lt;br&gt;C）故意拖延时间。&lt;br&gt;D）痴呆。&lt;br&gt;24．文章最后一段，为什么说蔺芈要“恨”？&lt;br&gt;a）他没有捉到鸩。&lt;br&gt;B）他被葳蕤绊了一个跟头。&lt;br&gt;C）他没有用扃打到鸠。&lt;br&gt;D）他怪自己不果断。&lt;br&gt;25．请给这篇文章拟一个合适的题目。&lt;br&gt;a）鸩的故事。&lt;br&gt;B）白痴蔺芈。&lt;br&gt;C）草本植物葳蕤。&lt;br&gt;D）得不偿失。 &lt;br&gt;第二篇文章&lt;br&gt;第26到30题将建立在下面这段文章中：&lt;br&gt;一天早上，晴空万里，小明一个人走在大街上，这时，一阵风吹了过来，树倒了，把走在路上的小明压死了。&lt;br&gt;这是近年来发生的最惨痛的一次事故，足足有前年发生事故的6倍严重！但是这件事却一直没有得到有关方面的足够重视。一直到最近著名作家芭芭拉在她的新书中以一个女英雄设法救小明最终失败的方式记叙了这件惨案。&lt;br&gt;人们终于认识到可以开始正视这件事了，当然不是用它与过去发生的事故去比较，而只是客观地去讲述这件事。&lt;br&gt;26．小明是什么时候被压死的？&lt;br&gt;a）树压在他身上的时候&lt;br&gt;B）风吹过来的时候。&lt;br&gt;C）一阵风把树吹倒的时候。&lt;br&gt;D）天晴的时候。&lt;br&gt;27．为什么说这次事故有前年发生的事故6倍严重？&lt;br&gt;a）因为小明还只是个孩子。&lt;br&gt;B）因为小明是活活被压死的。&lt;br&gt;C）因为死伤人数最多。&lt;br&gt;D）文章中没有给出。&lt;br&gt;28．作家芭芭拉以怎样的方式记叙了这个故事？&lt;br&gt;a）以非常细致的描写。&lt;br&gt;B）以夸张的描写。&lt;br&gt;C）以一个女英雄救人的方式。&lt;br&gt;D）以传记的方式。&lt;br&gt;29．我们可以从这篇文章推断出__________。&lt;br&gt;a）人们感到拿这件事与以前的事比是不对的。&lt;br&gt;B）人们对这件事的发生感到愧疚。&lt;br&gt;C）人们开始正视这件事了。&lt;br&gt;D）人们开始向小明表示哀悼了。&lt;br&gt;30．从文章中来看，小明的真正死因是__________。&lt;br&gt;a）有关方面不重视。&lt;br&gt;B）被树压死。&lt;br&gt;C）女英雄水平太次。&lt;br&gt;D）小明太呆，这么大一棵树你不知道躲开呀？ &lt;br&gt;第三篇文章&lt;br&gt;第31到35题将建立在下面这段文章中：&lt;br&gt;mm说：“我爱你。”&lt;br&gt;我脸红了,我不想害她：“我没钱,更没有房子和车。” mm盯着我的眼睛：“我知道。” “我的月薪只有一千五。” mm的目光仍然坚定无比：“以后会多的。” 我用颤抖的双手拿出一支烟叼在嘴上：“我每天要抽一包烟,一喝酒就闹事。” mm笑了,“以后有我在,你放心。” 我的脊梁上冒起一阵寒意,结结巴巴地对她说：“其实……其实我很流氓……幼儿园就喜欢去女厕所,小学就没了初吻,中学就……” mm没等我说完就软在了我的怀里,声音细若蚊鸣：“早知道你好色,你老偷偷瞄我胸脯… …” 一股鼻血喷涌而出,我抱紧了mm,温热娇小的身体让我热血沸腾。这时我忽然想到了一件很重要的事情,我决定把这事告诉mm...... 五秒钟后mm抬头问我：“真的？” 我悲愤地点点头。&lt;br&gt;mm沉默片刻挣开我的怀抱抬手给了我一个耳光,她愤怒地朝我喊道：“你丫竟然没有英语四级证书！”&lt;br&gt;31．文章中的“mm”是指什么东西？&lt;br&gt;a）老太婆。&lt;br&gt;B）猫科动物的一种。&lt;br&gt;C）女孩子。&lt;br&gt;D）疯子。&lt;br&gt;32．mm为什么要打人？&lt;br&gt;a）因为不打白不打。&lt;br&gt;B）因为她的男朋友没有四级证书。&lt;br&gt;C）因为这种动物性情暴烈。&lt;br&gt;D）因为她的男朋友欺骗她。&lt;br&gt;33．从这篇文章中，我们可以推断出__________。&lt;br&gt;a）见到mm这种东西应该离远点。&lt;br&gt;B）骗人是没有好下场的。&lt;br&gt;C）四级证书是非常重要的。&lt;br&gt;D）拿不到四级证书就拿不到学位证书了。&lt;br&gt;34．文中的男生为什么说那么贬低自己的话？&lt;br&gt;a）他变态。&lt;br&gt;B）他谦虚。&lt;br&gt;C）他痴呆。&lt;br&gt;D）他诚实。&lt;br&gt;35．综观全文，这段文章的体裁应该是__________。&lt;br&gt;a）小说。&lt;br&gt;B）散文。&lt;br&gt;C）诗歌。&lt;br&gt;D）幽默。&lt;br&gt;第四篇文章&lt;br&gt;第36到40题将建立在下面这段文章中：&lt;br&gt;首先我声明，我不是什么英迷，但是你的帖子让我恶心，让我甚至宁可看那些没水平的唾骂，那些也许肤浅，也许单纯，甚至不讲道理的唾骂！&lt;br&gt;你说你不希望那些人喜欢英格兰，请问你：你是什么东西？世界球迷协会理事？我还希望粱永祺不要嫁给小郑呢！你说什么“几年来我一直在讽刺英格兰，我等着有英迷能站出来对我进行反驳，然而到现在为止，对我的反驳除了粗话、骂娘以外，没有一个人能从足球的层面上分析与驳斥我”。天哪。。你在哪里等待？是在自己昏暗小屋的衣柜里等待呢？还是在遍布英格兰球迷甚至是英格兰足球流氓的街头等待？（我想你也没哪个胆量）&lt;br&gt;你居然用对法国两分钟连丢两球来做例，证明英格兰如何的无能。。。且不说英格兰现在是什么水平，单单看你能用这样一个偶然的结果来做例子，那么，你可以把全世界的球队都看成三流队伍！&lt;br&gt;其实装内行不是你的错，但是跑这里来丢人就是你的不对了！&lt;br&gt;36．从上下文看，“英迷”（第一段第一行）指的是__________。&lt;br&gt;a）喜欢英俊潇洒的人。&lt;br&gt;B）喜欢英格兰队的人。&lt;br&gt;C）英格兰足球流氓。&lt;br&gt;D）热爱英雄的人。&lt;br&gt;37．从文章中我们可以推断，作者__________。&lt;br&gt;a）是个“英迷”。&lt;br&gt;B）崇拜法国队。&lt;br&gt;C）喜欢粱永祺。&lt;br&gt;D）讨厌小郑。&lt;br&gt;38．文章第二段最后一句话是什么意思？&lt;br&gt;a）作者喜欢他能加入英格兰足球流氓的行列。&lt;br&gt;B）英格兰足球流氓善于等待。&lt;br&gt;C）作者很有胆量。&lt;br&gt;D）作者的一种挖苦和讽刺。&lt;br&gt;39．作者认为对方究竟错在哪里？&lt;br&gt;a）假装内行。&lt;br&gt;B）乱举例子。&lt;br&gt;C）跑出来丢人。&lt;br&gt;D）发没水平的帖子。&lt;br&gt;40．这段文章最有可能选自什么地方？&lt;br&gt;a）《人民日报》评论员文章。&lt;br&gt;B）金庸作品集。&lt;br&gt;C）新浪网的体育BBS。&lt;br&gt;D）白宫发言稿。&lt;br&gt;（本大题共40分，一题一分） &lt;br&gt;第三部分：词汇（20分钟）&lt;br&gt;说明向导：这部分有30句未完成的句子。每句句子后面有四个分别标有a），B），C）和D）的选项。请选择最佳的答案然后在答题卡上相应的选项中央划一条横线。&lt;br&gt;41．我们下课后一起去_____电脑。&lt;br&gt;a）打 B）操 C）干 D）搞&lt;br&gt;42．他打_____他一巴掌。&lt;br&gt;a） 上 B）过 C）了 D着&lt;br&gt;43．我去见了网友，然而令我失望的是，她却是个_____。&lt;br&gt;a）美女 B）恐龙 C）猩猩 D）长颈鹿&lt;br&gt;44．齐丹那_____又进球了。&lt;br&gt;a）秃子 B）胖子 C）猴子 D）呆子&lt;br&gt;45．你在干吗_____？&lt;br&gt;a）呼 B）呀 C）呵 D）了&lt;br&gt;46．这几天论坛上怎么没人来_____了？&lt;br&gt;a）灭火 B）浇花 C）种田 D）灌水&lt;br&gt;47．他说得太好了，大伙儿一起_____他啊！&lt;br&gt;a）宰了 B）解决 C）顶死 D）弄死&lt;br&gt;48．这篇文章写得很_____。&lt;br&gt;a）次 B）幽雅 C）硬朗 D）苦闷&lt;br&gt;49．这考试太难了，我们请个_____吧。&lt;br&gt;a）剑士 B）枪手 C）狙击手 D）CS高手&lt;br&gt;50．来我家，我俩_____FIFa。&lt;br&gt;a）玩弄 B）游戏 C）对殴 D）单挑&lt;br&gt;51．停车_____枫林晚，霜叶红于二月花。&lt;br&gt;a）做爱 B）坐爱 C）喝酒 D）品茶&lt;br&gt;52．他一天到晚就知道_____女人。&lt;br&gt;a）浸 B）泡 C）浸泡 D）烘干&lt;br&gt;53．他阅读居然得了40分，实在太_____了！&lt;br&gt;a）英俊 B）帅呆 C）牛B D）变态&lt;br&gt;54．你又被爆头了，真是个_____。&lt;br&gt;a）龙虾 B）带鱼 C）黄鳝 D）菜鸟&lt;br&gt;55．翠花，_____酸菜。&lt;br&gt;a）上 B）下 C）左 D）右&lt;br&gt;56．田野里到处都是_____。&lt;br&gt;a）旺财 B）小强 C）胖墩 D）皮蛋&lt;br&gt;57．60分万岁，多一分_____。&lt;br&gt;a）也好 B）浪费 C）奢侈 D）万岁&lt;br&gt;58．子曰：学而时习之，不亦_____乎。&lt;br&gt;a）说 B）悦 C兑 D）免&lt;br&gt;59．如果我有_____，我要叫他小叮当。&lt;br&gt;a）阿拉蕾 B）机器猫 C）呼呼猪 D）蓝皮鼠&lt;br&gt;60．我们都是_____球迷。&lt;br&gt;a）榔头 B）钉子 C）铁杆 D）竹竿&lt;br&gt;61．这么狡猾的人你还说他老实？他老实个_____！&lt;br&gt;a）鱼 B）鸟 C）虫 D）草&lt;br&gt;62．新东方的老师个个都是_____。&lt;br&gt;a）秃驴 B）** C）牛人 D）老头&lt;br&gt;63．女人是_____做的。&lt;br&gt;a）水 B）冰 C）馒头 D）面粉&lt;br&gt;64．我是一只来自北方的_____。&lt;br&gt;a）猪 B）狼 C）羊 D）狗熊&lt;br&gt;65．你_____什么呀？不就一次考得好吗？&lt;br&gt;a）激动 B）拽 C）喊 D）疯&lt;br&gt;66．用炮打他的_____。&lt;br&gt;a）马 B）牛 C）羊 D）炉&lt;br&gt;67．英语四、六级考试马上要_____啦。&lt;br&gt;a）取消 B）实行 C）崩溃 D）改革&lt;br&gt;68．更多选择更多欢笑，就在_____。&lt;br&gt;a）肯德基 B）必胜客 C）麦当劳 D）塔克贝&lt;br&gt;69．舒克舒克舒克舒克舒克舒克舒克舒克_____的舒克。&lt;br&gt;a）尿床 B）偷东西 C）开飞机 D）扔炸弹&lt;br&gt;70．将_____进行到底。&lt;br&gt;a）作弊 B）爱情 C）比赛 D）革命&lt;br&gt;（本大题共15分，一题0.5分）  &lt;p&gt;第四部分：综合改错（15分钟）&lt;br&gt;说明向导：这部分中有一篇短文。在这篇短文中一共有10个错误，每个后面划横线的句子中有一个错误。你可以改一个词语，加一个词语或者删一个词语。如果你想改一个词语，把错误的那个词划去并把正确的写在横线上。如果你想加一个词语，在要加入处写一个插入记号（∧）并把要加的词语写在横线上。如果你想删去一个词语，划掉它并在横线上划一斜横即可。&lt;br&gt;举例：&lt;br&gt;电视正在很快地成为我们这个期间的文学。 1. 时期&lt;br&gt;许多有被用作文学这门学校的课程学习的观点 2. ----&lt;br&gt;也同样适用于电视∧门学科的研究。 3. 这__&lt;br&gt;近年来外国人学习汉语的热情不断增高，&lt;br&gt;但绝大多数人能够熟练掌握汉语。为了便于外 71. _____&lt;br&gt;国人检测自己的汉语水平，现成立国家大学汉&lt;br&gt;语四、六级考试委员会并设立着汉语四、六级 72. _____&lt;br&gt;考试。该考试将要参照英语四、六级考试的形 73. _____&lt;br&gt;式，各部分题型与其基本保持一致。考生报名&lt;br&gt;参加或通过者将授予证书，证书上贴有防伪标 74. _____&lt;br&gt;志，任何个人和单位不得仿冒，违者不究其法 75. _____&lt;br&gt;律责任。另外，考生报名需持本人无效证件， 76. _____&lt;br&gt;不得他人代报，更除此不得冒名顶替，发现有 77. _____&lt;br&gt;以上现象的，将取消其中考试成绩，并责令其 78. _____&lt;br&gt;回国，终身不得参加该项考试。该汉语考试将&lt;br&gt;于2005年开始，每年设立1月和6月两门考 79. _____&lt;br&gt;试，报名具体时间和注意事项请观赏我们的官 80. _____&lt;br&gt;方网站：&lt;a href="http://www.cct4-6.com.cn/"&gt;www.cct4-6.com.cn&lt;/a&gt;请各位朋友互相&lt;br&gt;转告，谢谢。 &lt;p&gt;（本大题共10分，一个1分）&lt;br&gt;第五部分：写作&lt;br&gt;说明向导：在这个部分，你将有三十分钟来写一篇题目为：汉语四、六级真好的作文。字数不