日期:2014-05-20  浏览次数:20754 次

想做一个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分钟触发