spring 3中的任务调度,怎样手动开启

spring 3中有个任务调度的,现在我用的是这种方式:
[code="xml"]task:scheduled-tasks


/task:scheduled-tasks[/code]
,这样在启动tomcat解析xml时,这个test函数就开始执行了。我现在想通过手动的方式来开启任务调度,有什么解决办法(用spring3中的任务调度),哪位能帮帮我,谢谢了

我告诉你一个方法,直接找quartz的相关用法

手动没问题

不要写在配置文件中,直接新建任务调度的方法即可

    // 统一设置执行时间
    jobDataMap.put(Constant.JOB_DATA_EXCUTE_TIME, time);

    SimpleTrigger trigger = new SimpleTrigger("SimpleTrigger_" + jobKey,
            Scheduler.DEFAULT_GROUP, time);
    jobDetail.setJobDataMap(new JobDataMap(jobDataMap));

手动无需任务,直接调用方法即可

动态修改任务调度,可以采用手动设置的方式,
首先你要明白,spring用的是quartz,如果你单独用quartz的时候。。。。

直接控制任务调度比较困难。
有个间接控制的方法;
数据库中存放一个是否开启调度的标志字段,在调度的方法里先查询该标志是否已经开启,手动控制只需要控制该标志字段的值就OK。
还有个就是不用数据库,将是否开启调度的标志写在properties文件中,同理,在调度方法里先读取该properties里的值,手动控制只需要修改properties的值。

你在test方法中加入判断
[code="java"]
public void test(){
checkStatus();//这里去检查手动任务是否是开启状态,具体是从数据库还是properties文件中读取由你自己决定,如果取得未开启,return掉就OK了

//下面是你的操作
}
[/code]

查询该标志是否已经 :cry: :cry: