在Java Play Scheduler任务中注入类实例

问题描述 投票:0回答:1

我正在尝试在Java play framework 2.5.10中创建一个调度程序,我希望每15分钟执行一次任务。我已经完成了计划任务,可以使用它来调用任务。

但是我发现了两个问题

我有一个空指针异常,其中要注入的类从堆栈跟踪中变为空

我已使用下面的方法,如代码所示

在myThread中,试图注入一些将为null的类。

而且它仅触发一次,这是由于空指针异常引起的吗?我期望每15分钟执行一次任务计划,即使我看到空指针也是如此。

 this.actorSystem
     .scheduler()
     .schedule( FiniteDuration.create(0,TimeUnit.SECONDS),
                FiniteDuration.create(15,TimeUnit.MINUTES),
                new myThread(),
                executionContext);
java scala playframework playframework-2.5
1个回答
0
投票

好吧,我通过用play.api.Application初始化schedule任务并使用初始化所需的类实例来解决这个问题。

myObject = Play.application(app).injector()。instanceOf(MyObjectClass.class);

我看到现在每15分钟触发一次调度程序以完成工作。我可能需要进行一些null检查以避免这些异常。

© www.soinside.com 2019 - 2024. All rights reserved.