在grails中使用quartz而不使用quartz插件

在grails中使用quartz而不使用quartz插件,grails,quartz-scheduler,Grails,Quartz Scheduler,我正在尝试使用quartz在grails中调度作业,而不使用插件。 代码如下: 1-RunMeTask.java package tt; public class RunMeTask { public void printMe() { System.out.println("Run Me ~"); } } 2-resources.groovy(在conf/spring下) 我得到以下例外情况: 错误编译过程中的致命错误org.apache.tools.ant

我正在尝试使用quartz在grails中调度作业,而不使用插件。 代码如下:

1-RunMeTask.java

package tt;
public class RunMeTask {
    public void printMe() {
        System.out.println("Run Me ~"); 
    }
} 
2-resources.groovy(在conf/spring下)

我得到以下例外情况: 错误编译过程中的致命错误org.apache.tools.ant.BuildException:java.lang.CompatibleClassChangeError:class org.springframework.scheduling.quartz.SimpleTriggerBean将接口org.quartz.SimpleTrigger作为超类(使用--stacktrace查看完整跟踪)


有人能帮忙吗?

好的,我想好了。当我想到它的时候,它并没有那么难。它的优点是它和java一样简单,没有任何插件可以在grails特定版本上工作,也没有任何插件不能在grails上工作,或者使用插件会引起任何麻烦

问题代码中有1处更改:

  • java(也可以是RunMeTask.groovy)必须实现runnable等 它看起来像这样:

    tt包

    导入java.io.File

    导入java.io.IOException

    导入java.util.Random

    公共类RunMeTask实现Runnable{

    静态随机r=新随机()

    public void printMe()引发IOException{

    文件f=新文件(“c:\ofer.txt”+r.nextInt())

    f、 createNewFile()

    系统输出打印项次(“fff”)

    }

    公开募捐{

    试一试{

    printMe()

    }捕获(IOE异常){

    //TODO自动生成的捕捉块

    e、 printStackTrace()

    }

    }

  • 有趣的是,“fff”的println只出现了2次,但按预期每5秒创建一个新文件

    好了,现在在c目录中每5秒创建一个新文件。 没有插件,也没有麻烦。如果有人知道为什么System.out.println(“fff”)只出现了2次,我很乐意知道

    谢谢

    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')]
        }
    
    }
    
    }