当前位置: 首页 > 知识库问答 >
问题:

错误org.quartz.core.JobrunShell-Job Group1.JobReport引发未处理的异常

广晔
2023-03-14

你有什么想法吗??我不知道该怎么办了:/

13449[MyScheduler_Worker-1]错误org.quartz.core.jobrunshell-Job group1.jobreport引发了一个未处理的异常:java.lang.nullpointerexception at com.changes.bean.reportsbean.createpdfCriticalChanges(reportsbean.java:104)at com.changes.quartz.jobreport.execute(jobreport.java:36)at org.quartz.core.jobrunshell.run(jobrunshell.java:202)at orlogger-Job(group1.jobReport抛出了一个异常。org.quartz.ScheduleResception:Job抛出了一个未处理的异常。[参见嵌套异常:java.lang.nullpointerException]位于org.quartz.core.jobrunshell.run(jobrunshell.java:213)位于org.quartz.simple.simplethreadpool$workerthread.run(simplethreadpool.javerthreadpool$workerthread.run(simplethreadpool:Core.jobrunshell.r联合国(jobrunshell.java:202)

ReportsBean

public class JobReport implements Job {


    public void execute(JobExecutionContext context) throws JobExecutionException {


        //BasicConfigurator.configure();
        try {
            ReportsBean reportsBean = new ReportsBean();
            reportsBean.createPdfCriticalChanges();
            SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy – hh:mm:ss");
            System.out.println("Rodou: " + dateFormat.format( new Date() ));
        } catch (JRException | SQLException e) {
            e.printStackTrace();
        }

    }

}

Quartz.properties

org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.plugin.jobInitializer.class =org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames = com/changes/quartz/quartz-config.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true

web.xml

<!-- Inicio Quartz -->
<servlet>
    <servlet-name>QuartzServlet</servlet-name>
    <servlet-class>com.changes.quartz.servlet.QuartzServlet</servlet-class>
</servlet>
<servlet>
    <servlet-name>QuartzInitializer</servlet-name>
    <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
    <init-param>
        <param-name>config-file</param-name>
        <param-value>quartz.properties</param-value>
    </init-param>
    <init-param>
        <param-name>shutdown-on-unload</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>start-scheduler-on-load</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>
<!-- Fim Quartz -->

共有1个答案

爱刚捷
2023-03-14

问题是您的ReportsBean中有一个NullPointerException。

因为Quartz execute方法的签名是

public void execute(JobExecutionContext context) throws JobExecutionException

Quartz只能处理将在此方法中引发的JobExecutionException。但在您的示例中,它会得到意外的NullPointerException。

 类似资料:
  • 问题内容: 我之前从未遇到过此错误,所以我不确定该怎么做或意味着什么 未处理的异常类型 它在以下代码中发生: 它给了我2个选项“添加抛出声明”和“使用try / catch进行环绕”。 我该怎么办,为什么? 问题答案: 这意味着您要调用的方法已使用指令声明了从类派生的异常。当以这种方式声明一个方法时,您将被迫使用一个块来处理该异常,或者将一个相同的(对于相同的异常或超类型)语句添加到您的方法声明中

  • 问题内容: 当我使用Node运行此代码时,它会在控制台中引发错误(甚至首先显示文本)。 但是,当我将方法链接到方法时,错误消失了: 难道第一个代码不应该处理拒绝吗? 我还尝试了Chrome中的第一个代码,当我在新标签页(或google.com)中打开检查器时,该代码就可以使用。如果我在其他任何页面中,则会引发异常。有什么解释吗?这对我来说真的很奇怪! 问题答案: 为了被视为已处理,被拒绝的诺言应与

  • 此代码的输出是 这意味着异常将由<代码>接收器重新引发。下一步(i) 在推送方法和非推送错误反应通道中。为什么?

  • 当程序出现错误或者异常时,我们一般会希望在开发时输出报错信息,在生产环境时隐藏详细的信息。 在 imi 中,提供了 Http 服务的错误异常默认处理器支持。 默认 Http 错误处理器:Imi\Server\Http\Error\JsonErrorHandler 指定默认处理器 配置文件中: return [ 'beans' => [ 'HttpErrorHan

  • 问题内容: 我知道可可中有一个UncaughtExceptionHandler,但是我正在为Swift寻找相同的东西。即,每当应用程序中有任何错误/异常由于任何错误而未在本地捕获时,它应该一直冒泡到顶级应用程序对象,在那里我应该能够妥善处理它并适当地响应用户。 Android有它。Flex有它。Java有它。想知道为什么Swift缺少此关键功能。 问题答案: Swift没有机制来捕获所有任意的运行

  • 我有一个异步函数,它将一些数据插入数据库(使用Mariadb)。由于重复的唯一键,此插入可能会失败,因此它会抛出错误(实际上确实如此),但当我尝试再次抛出它以通过Promise捕获它时,它不起作用;它似乎总是以成功的案例结束,即使它抛出了错误。 我尝试改变then/catch顺序,我使用了< code > reject(err);而不是< code >抛出err但是这些都不起作用。 这是POST声