java - 实例化异常无法将调度程序时间放在一类项目上

标签 java quartz-scheduler

我在实现 Job 接口(interface)的类上放置了一个调度程序,当我在代码中创建该类的对象并运行应用程序时,它给我如下错误。有什么帮助吗?

public class Chart extends ApplicationFrame implements Job{   

//Main class
String imagepath=IASGlobal.APPLICATION_PATH;
XYDataset dataset= null;
public Chart(final String title) {

    super(title);
    final XYDataset dataset = createDataset();
    final JFreeChart chart = createChart(dataset);
    try{
        final ChartRenderingInfo info = new ChartRenderingInfo
        (new StandardEntityCollection());
        final File file1 = new File("/home/iasf/workspace/iasf/WebContent/images/chart89.png");
        ChartUtilities.saveChartAsPNG(file1, chart, 1200, 800, info);
    }catch(Exception e){}
    ******************
    then some code
    ******************
    JFreeChart createChart(final XYDataset dataset) {
        //somr code here

    }
    private XYDataset createDataset(){
        //some code here
    }

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        // TODO Auto-generated method stub

        final Chart demo = new Chart("Time Series Demo 8");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);
        System.out.println("im done with 10 mins..");

    }
}


[ERROR] 04 Oct 04:56:00.046 PM DefaultQuartzScheduler_QuartzSchedulerThread [org.quartz.core.ErrorLogger]
An error occured instantiating job to be executed. job= 'ChrtScheduleUp.ChartScheduleJob'

    org.quartz.SchedulerException: Problem instantiating class 'modules.images.Chart' [See nested exception: java.lang.InstantiationException: modules.images.Chart]
        at org.quartz.simpl.SimpleJobFactory.newJob(SimpleJobFactory.java:57)
        at org.quartz.core.JobRunShell.initialize(JobRunShell.java:132)
        at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:358)
    Caused by: java.lang.InstantiationException: modules.images.Chart
        at java.lang.Class.newInstance0(Class.java:357)
        at java.lang.Class.newInstance(Class.java:325)
        at org.quartz.simpl.SimpleJobFactory.newJob(SimpleJobFactory.java:55)
        ... 2 more
    [INFO] 04 Oct 04:56:00.050 PM DefaultQuartzScheduler_QuartzSchedulerThread [org.quartz.simpl.RAMJobStore]
    All triggers of Job ChrtScheduleUp.ChartScheduleJob set to ERROR state.

所以我收到了这个错误,我不确定如何解决这个问题……有什么帮助吗??

最佳答案

看起来您的作业类没有默认构造函数。 要使用 TriggerBuilder 安排作业,您需要作业类具有默认构造函数。

关于java - 实例化异常无法将调度程序时间放在一类项目上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180241/

相关文章:

c# - 为什么Java和C#要给每个对象都加上内在锁?

java - 如何在 ant <javac> JDK8 中提及 -profile

java - 为什么 Dagger 2 中需要@SubComponent?

java - Spring-AMQP 事务性发布无异常

java - 集群环境下quartz可以在不同节点之间共享同一个JOB吗?

java - Quartz 调度程序与设置 cron

java - Quartz 从按组条件过滤的数据库加载作业

java - 如何使用java通过HttpPost发送空的二进制数据

java - Spring quartz cron 作业到底是什么运行的?

java - Spring 调度程序 Cron 作业