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

Quartz作业中的Null applicationContext

暴辰龙
2023-03-14
private ApplicationContext getApplicationContext(JobExecutionContext context ) throws Exception {

        System.err.println("check if variables are null - " + (context.getScheduler().getContext() == null));
        System.err.flush();

        ApplicationContext appCtx = (ApplicationContext)context.getScheduler().getContext().get(APPLICATION_CONTEXT_KEY);

        if (appCtx == null) {

            throw new JobExecutionException(

                    "No application context available in scheduler context for key /"" + APPLICATION_CONTEXT_KEY + "/"");

        }

        return appCtx;

    }

共有1个答案

龙永福
2023-03-14

100%工作你可以尝试以下步骤。

  1. 创建一个将实现ApplicationContextAware的类
  2. 给出方法的实现
  3. 创建ApplicationContext的静态变量
  4. 在类中获取该变量

代码看起来会像。

public class ApplicationUtils implements ApplicationContextAware {

    private static ApplicationContext ctx;

    @Override
    public void setApplicationContext(ApplicationContext appContext)
            throws BeansException {
        ctx = appContext;

    }

    public static ApplicationContext getApplicationContext() {
        return ctx;
    }
}
    
 类似资料:
  • 请给我一个解决办法。 这里是quartz调度程序代码的链接。https://gist.github.com/60b236e7fd1432c76248

  • 如果有其他的方法来配置jHipster中的石英作业,请告诉我。或者,如果jHipster为调度程序工作提供了开箱即用的功能,那就太好了。 石英作业依赖关系

  • 我想使用Quartz、Spring和Hibernate创建动态作业。用户与web服务交互以创建此类作业: NoaJobInstancesDAO是一个简单的DAO类,它利用了Hibernate的EntityManager: 问题是,当这个作业触发时,会抛出一个异常: 我不明白为什么!在Manager类中,我以这种方式安排作业 其中排定程序作为 Edit1:应用程序上下文的实例似乎正确。问题不可能在那

  • 我使用的是spring boot,我有一个从数据库中存储/检索一些数据的服务。我想使用一个石英工作使用我的服务。我从网上尝试了很多建议,想把石英和spring boot整合起来,但都不奏效。 这是我的代码: 1)我添加了org.quartz-scheduler作为pom.xml中的依赖项: 2)这是我的应用程序。配置为将mysql用作我的服务的数据库的属性: 3)这是我的服务: 4)调度程序类:

  • 我有每天的cron作业,它应该在00:00运行在所有时区,但当应用程序在维护(可能是一两个小时),部分计划的作业丢失。 是否可以运行在维护期间错过的任务? 在Quartz shoutdown之前(从记录): 石英启动后: