我正在尝试使用quartz来调度grails中的作业,而不是使用插件。代码如下:
1- RunMeTask.java
package tt;
public class RunMeTask {
public void printMe() {
System.out.println("Run Me ~");
}
} 2-弹簧(在conf/ resources.groovy下)
import org.springframework.scheduling.quartz.JobDetailFactoryBean;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.scheduling.quartz.SimpleTriggerBean;
import tt.RunMeTask
beans = {
runMeTask(RunMeTask){}
runMeJob(JobDetailFactoryBean) {
targetObject = ref('runMeTask')
targetMethod = "printMe"
}
simpleTrigger(SimpleTriggerBean){
jobDetail = ref('runMeJob')
repeatInterval = "5000"
startpDelay = "1000"
}
schedulerFactoryBean(SchedulerFactoryBean){
jobDetails = [ref('runMeJob')]
triggers = [ref('simpleTrigger')]
}
}我得到以下异常: Error在编译过程中出现致命错误:stacktrace:类org.springframework.scheduling.quartz.SimpleTriggerBean将接口堆栈作为超类(使用--org.apache.tools.ant.BuildException查看完整的跟踪)
有人能帮上忙吗?
发布于 2012-03-19 18:02:16
好的,我想出来了。当我想到it.the的好处时,这并不是很难,它就像你在java中做的一样简单,没有插件可以在grails上工作,或者不能在某些版本上工作,或者任何使用插件可能造成的麻烦。
问题中的代码有一处更改:
tt包;
导入java.io.File;
导入java.io.IOException;
导入java.util.Random;
公共类RunMeTask实现了Runnable {
静态随机r= new Random();
公共空printMe()抛出IOException {
文件f=新文件(“c:\ofer.txt”+r.nextInt());
f.createNewFile();
System.out.println("fff");
}
public void run(){
尝试{
printMe();
} catch (IOException e) {
// TODO自动生成的catch块
e.printStackTrace();
}
}
}
有趣的是,"fff“的println只出现了2次,但每5秒就会创建一个新文件。
好了,现在在c目录中每隔5秒就会创建一个新文件。没有插件,没有麻烦。如果有人知道为什么System.out.println(“fff”)只发生两次,我很乐意知道。
谢谢
https://stackoverflow.com/questions/9738569
复制相似问题