当前位置: 代码迷 >> J2SE >> 想做一个java闹钟,有人做过没有
  详细解决方案

想做一个java闹钟,有人做过没有

热度:10012   发布时间:2013-02-25 00:00:00.0
想做一个java闹钟,有人做过没
想做一个java闹钟,有人做过没

------解决方案--------------------------------------------------------
这个可以用Spring的定时器做哦,

XML code
<?xml version="1.0" encoding="UTF-8"?>   <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >   <beans>        <!—要调度的对象-->       <bean id="testQuarz" class="springtimer.TestQuarz" />         <!--定义定时执行testQuarz 这个bean中的sayHello()方法-->       <bean id="helloworldTask"    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">           <property name="targetObject">               <ref bean="testQuarz" />           </property>           <property name="targetMethod">               <value>sayHello</value>           </property>       </bean>         <!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是helloworldTask,即触发器去触发哪个bean..并且我们还定义了触发的时间:每天5:17pm-->       <bean id="cronTrigger"          class="org.springframework.scheduling.quartz.CronTriggerBean">           <property name="jobDetail">               <ref bean=" helloworldTask " />           </property>           <property name="cronExpression">               <!-- 关键在配置此表达式 -->               <value>0 17 17 * * ?</value>           </property>       </bean>         <!--管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。        -->       <bean autowire="no"          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">           <property name="triggers">               <list>                   <ref local="cronTrigger" />               </list>           </property>       </bean>   </beans>  <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" > <beans>      <!—要调度的对象--> <bean id="testQuarz" class="springtimer.TestQuarz" /> <!--定义定时执行testQuarz 这个bean中的sayHello()方法--> <bean id="helloworldTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="testQuarz" /> </property> <property name="targetMethod"> <value>sayHello</value> </property> </bean> <!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是helloworldTask,即触发器去触发哪个bean..并且我们还定义了触发的时间:每天5:17pm--> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean=" helloworldTask " /> </property> <property name="cronExpression"> <!-- 关键在配置此表达式 --> <value>0 17 17 * * ?</value> </property> </bean> <!--管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。 --> <bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="cronTrigger" /> </list> </property> </bean> </beans>
------解决方案--------------------------------------------------------
"0 0 12 * * ?" 每天中午12点触发 
"0 15 10 ? * *" 每天上午10:15触发 
"0 15 10 * * ?" 每天上午10:15触发 
"0 15 10 * * ? *" 每天上午10:15触发 
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发 
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发 
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发