簡體   English   中英

在沒有grails的石英插件的情況下使用石英

[英]using quartz with out the quartz plugin in grails

我正在嘗試使用石英在不使用插件的情況下計划grails中的作業。 這是代碼:

1-RunMeTask.java

package tt;
public class RunMeTask {
    public void printMe() {
        System.out.println("Run Me ~"); 
    }
} 

2-resources.groovy(在conf / spring下)

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

}

我得到以下異常:錯誤編譯org.apache.tools.ant.BuildException時發生致命錯誤:java.lang.IncompatibleClassChangeError:類org.springframework.scheduling.quartz.SimpleTriggerBean具有org.quartz.SimpleTrigger接口作為超類(使用- -stacktrace查看完整跟蹤)

有人可以幫忙嗎?

好吧,我知道了。 當我考慮它的時候並不難。關於它的好處就像您在Java中一樣簡單,並且沒有可能在某些版本上運行或無法運行的插件,或者某些版本或使用插件可能導致的任何麻煩。

該問題的代碼有1處更改:

  1. RunMeTask.java(也可以是RunMeTask.groovy)必須實現可運行,因此看起來像這樣:

    包tt;

    導入java.io.File;

    導入java.io.IOException;

    導入java.util.Random;

    公共類RunMeTask實現Runnable {

    靜態隨機數r =新的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秒創建一個新文件。

好的,這樣就可以了,現在每5秒在您的c目錄中創建一個新文件。 沒有插件,沒有麻煩。 如果有人知道為什么System.out.println(“ fff”); 只會發生2次,我很高興知道。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM