Akka石英调度程序永远不会触发我的演员

雷夫·詹岑(Leif Jantzen)

我正在尝试使用akka-quartz-scheduler定期触发清除事件。我让调度程序将消息发送给actor,但仅当没有与该调度程序关联的Calendar时才发送。每当我在日程表上添加日历时,演员就永远不会收到任何消息。

这是与akka-quartz-scheduler相关的application.conf部分。如果我删除线

日历= [“最小”]“

从配置中,我的actor被触发。如果我不插队,就不会有演员叫来。

akka {
    quartz {
        defaultTimezone = "Europe/Oslo"
        schedules {
            NowAndThen {
                description ="Delete temp files now and then, eg every hour"
                expression = "*/10 * * * * ?"
                calendars = ["Minimal"]
            }
        }
        calendars {

            Minimal {
                type = Daily
                exclude {
                    startTime = "15:00"
                    endTime   = "15:01"
                }
            }   

        }
    }
}

我正在Global.java中从playframework应用程序初始化扩展:

import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Extension;
import akka.actor.Props;
import com.typesafe.akka.extension.quartz.QuartzSchedulerExtension;
import play.Application;
import play.GlobalSettings;
import play.Logger;
import play.libs.Akka;
import uttrekk.CleanupRunner;

public class Global extends GlobalSettings {

  public void onStart(Application app) {
    AkkaStartUp.startup(app);
  }

  static class AkkaStartUp {

    public static void startup(Application app) {
      // Starter autoamtiske avelveringer norges eiendommer
      ActorSystem system = Akka.system();

      ActorRef cleanupRef =system.actorOf(new Props(CleanupRunner.class));

    QuartzSchedulerExtension scheduler = (QuartzSchedulerExtension) QuartzSchedulerExtension.get(system);
    scheduler.schedule("NowAndThen",cleanupRef,"Clean");

    }
  }
}

actor实现如下所示:

package uttrekk;

import akka.actor.UntypedActor;
import play.Logger;
import util.NewProperties;

import java.io.File;
import java.io.FilenameFilter;

public class CleanupRunner extends UntypedActor {

  @Override
  public void onReceive(Object message) throws Exception {
    Logger.info("Running cleanup of temporary files");
  }
}
帕特里克·戈林

在日历初始化过程中会发生此问题。检查QuartzSchedulerExtension类中的第245行:scheduler.addCalendar(name.toUpperCase,calendar,true,true)

日历是使用UpperCase添加的,因此Quartz永远找不到它,从而导致没有作业被触发。如果您使用UpperCase名称在akka配置中定义日历,则日历应该可以使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新启动石英调度程序而不会出现错误

来自分类Dev

春季石英:工作不会触发

来自分类Dev

需要在石英调度程序启动时触发作业

来自分类Dev

为什么这个简单的Akka Streams程序永远不会终止?

来自分类Dev

石英我如何将触发器置于不会重新触发失火的状态

来自分类Dev

TimerTick 永远不会触发

来自分类Dev

石英调度程序2.2.1中的getJobNames()

来自分类Dev

如何保持石英.net的调度程序存活?

来自分类Dev

如何获得石英调度程序结束事件

来自分类Dev

在Chrono程序中永远不会触发条件语句

来自分类Dev

Akka调度程序继承

来自分类Dev

使用循环程序的调度程序时,在测试期间永远不会调用 Observable.create

来自分类Dev

石英调度程序2.x:当我停止tomcat服务器时,我有Quartz生成的此错误

来自分类Dev

定期同步永远不会触发

来自分类Dev

didReceiveRemoteNotification或ReceivedRemoteNotification永远不会触发

来自分类Dev

永远不会触发 onLoad 事件

来自分类Dev

为什么我的变更处理程序永远不会被解雇?

来自分类Dev

Java石英调度程序在特定时间运行

来自分类Dev

如何通过石英调度程序获取不当行为总数

来自分类Dev

Turbolinks 加载事件永远不会在全新的 Rails 5.1 应用程序中触发

来自分类Dev

为什么我在Bevy中进行变更检测的尝试永远不会触发?

来自分类Dev

其他条件永远不会触发

来自分类Dev

ready.on('end',...)永远不会触发

来自分类Dev

CMAltimeter回调永远不会触发

来自分类Dev

jQuery fadeOut回调永远不会触发

来自分类Dev

setTimeout()目标函数永远不会触发

来自分类Dev

带有PendingIntent的RequestLocationUpdates永远不会触发

来自分类Dev

github计划动作永远不会触发

来自分类Dev

Laravel broadcastOn()方法永远不会触发

Related 相关文章

  1. 1

    重新启动石英调度程序而不会出现错误

  2. 2

    春季石英:工作不会触发

  3. 3

    需要在石英调度程序启动时触发作业

  4. 4

    为什么这个简单的Akka Streams程序永远不会终止?

  5. 5

    石英我如何将触发器置于不会重新触发失火的状态

  6. 6

    TimerTick 永远不会触发

  7. 7

    石英调度程序2.2.1中的getJobNames()

  8. 8

    如何保持石英.net的调度程序存活?

  9. 9

    如何获得石英调度程序结束事件

  10. 10

    在Chrono程序中永远不会触发条件语句

  11. 11

    Akka调度程序继承

  12. 12

    使用循环程序的调度程序时,在测试期间永远不会调用 Observable.create

  13. 13

    石英调度程序2.x:当我停止tomcat服务器时,我有Quartz生成的此错误

  14. 14

    定期同步永远不会触发

  15. 15

    didReceiveRemoteNotification或ReceivedRemoteNotification永远不会触发

  16. 16

    永远不会触发 onLoad 事件

  17. 17

    为什么我的变更处理程序永远不会被解雇?

  18. 18

    Java石英调度程序在特定时间运行

  19. 19

    如何通过石英调度程序获取不当行为总数

  20. 20

    Turbolinks 加载事件永远不会在全新的 Rails 5.1 应用程序中触发

  21. 21

    为什么我在Bevy中进行变更检测的尝试永远不会触发?

  22. 22

    其他条件永远不会触发

  23. 23

    ready.on('end',...)永远不会触发

  24. 24

    CMAltimeter回调永远不会触发

  25. 25

    jQuery fadeOut回调永远不会触发

  26. 26

    setTimeout()目标函数永远不会触发

  27. 27

    带有PendingIntent的RequestLocationUpdates永远不会触发

  28. 28

    github计划动作永远不会触发

  29. 29

    Laravel broadcastOn()方法永远不会触发

热门标签

归档