如何访问 Play 2.5 scala 中模块使用的单例类中的变量

艾丹

我在 Play Framework 2.5 中使用 akkaquartz ( https://github.com/theatrus/akka-quartz )制作了一个调度程序

一切都很好,直到我想取消作业,因为我无法访问保存 Cancellable 对象的变量。

下面是代码:

这是用于模块

RecurrentTaskModule.scala

class RecurrentTaskModule extends AbstractModule with AkkaGuiceSupport {
    override def configure() = {
        bindActor[WeatherHistoryApiActor]("weather-history-api-call")
        bind(classOf[RecurrentTask]).asEagerSingleton()
   }
}

@Singleton
class RecurrentTask @Inject() (actorSystem: ActorSystem, 
@Named("weather-history-api-call") val weatherHistoryApiActor: ActorRef,
lifecycle: ApplicationLifecycle, scheduleModel: TxScheduleModel) {
    var scheduleMap: Map[String, Cancellable] = _
    val f = quartzActor ? AddCronSchedule(actorRef,
                    "%d %s %s %s %s %s".format(0,"*","*","*","*","*",
                    Message(""),true)

  val r = Await.result(f, timeout.duration).asInstanceOf[AddCronScheduleResult]
    r match {
        case AddCronScheduleSuccess(cancel: Cancellable) => {
            scheduleMap.put("%s".format(schedule._1), cancel)
        }
        case AddCronScheduleFailure(reason: Throwable) => {
        }
    }
}

在我的配置中

应用程序配置文件

play.modules.enabled += "tasks.RecurrentTaskModule"

如您所见,如果我可以访问

var scheduleMap

我可以通过调用地图中的可取消对象轻松取消作业

顺便说一句,我想在我的 Application.scala(控制器)中访问它

弗雷德里克 A.

您可以将RecurrentTask单身人士注入您的控制器实例:

class Application @Inject() (recurrentTask: RecurrentTask) {

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Play Framework 2(Scala)中的可重用块中使用变量

来自分类Dev

让Swagger在Play2 Scala中工作

来自分类Dev

如何在Play Framework 2 Scala中对控制器进行单元测试

来自分类Dev

如何在Scala Play2中合并来自多个响应的数据?

来自分类Dev

如何使用Scala + Play + SBT复制资源

来自分类Dev

如何使用Play with Scala加载JSON文件

来自分类Dev

Play2 Scala的配置集中化;或如何停止对变量进行硬编码

来自分类Dev

Play2 Scala的配置集中化;或如何停止对变量进行硬编码

来自分类Dev

在Play Framework(Scala)中限制对特定IP的访问

来自分类Dev

如何将使用Scala的Play 2与使用Akka的Camel集成在一起?

来自分类Dev

如何在多个文件中使用Play Scala specs2匹配器

来自分类Dev

如何使用Play框架(scala)在HTML中打印@符号

来自分类Dev

如何在Scala Play Framework 2.2中使用Memcached?

来自分类Dev

Scala中Play Framework 2的日志记录语法

来自分类Dev

2 个类(1 个 VM 1 个服务)更改/访问单例类中的属性

来自分类Dev

使用PM2运行Play Scala应用程序

来自分类Dev

使用Scala从Play2更改堆和堆栈大小

来自分类Dev

无法使用mysql结果解析符号scala play2

来自分类Dev

如何在Play 2.3和Scala 2.11中使用play-plugins-mailer?

来自分类Dev

如何使用C#在ASP.NET背后的代码中访问HTML5音频play()事件

来自分类Dev

如何在Play Framework 2.2.0 Scala(spec2,Mockito)中对Akka actor进行单元测试

来自分类Dev

Play Framework 2:如何访问视图模板中隐藏表单字段的默认值?

来自分类Dev

如何在Scala / Play中创建JSON对象

来自分类Dev

如何在Scala Play Framework FORMS中验证负BigDecimals?

来自分类Dev

Play框架:如何在Scala中定义可写对象?

来自分类Dev

如何从Scala Play中以#分隔的网址中提取参数

来自分类Dev

如何在Play框架中调用main.scala.html

来自分类Dev

如何通过Play框架中的Scala连接到Cassandra

来自分类Dev

如何在Scala Play 2.0中发送响应?

Related 相关文章

  1. 1

    如何在Play Framework 2(Scala)中的可重用块中使用变量

  2. 2

    让Swagger在Play2 Scala中工作

  3. 3

    如何在Play Framework 2 Scala中对控制器进行单元测试

  4. 4

    如何在Scala Play2中合并来自多个响应的数据?

  5. 5

    如何使用Scala + Play + SBT复制资源

  6. 6

    如何使用Play with Scala加载JSON文件

  7. 7

    Play2 Scala的配置集中化;或如何停止对变量进行硬编码

  8. 8

    Play2 Scala的配置集中化;或如何停止对变量进行硬编码

  9. 9

    在Play Framework(Scala)中限制对特定IP的访问

  10. 10

    如何将使用Scala的Play 2与使用Akka的Camel集成在一起?

  11. 11

    如何在多个文件中使用Play Scala specs2匹配器

  12. 12

    如何使用Play框架(scala)在HTML中打印@符号

  13. 13

    如何在Scala Play Framework 2.2中使用Memcached?

  14. 14

    Scala中Play Framework 2的日志记录语法

  15. 15

    2 个类(1 个 VM 1 个服务)更改/访问单例类中的属性

  16. 16

    使用PM2运行Play Scala应用程序

  17. 17

    使用Scala从Play2更改堆和堆栈大小

  18. 18

    无法使用mysql结果解析符号scala play2

  19. 19

    如何在Play 2.3和Scala 2.11中使用play-plugins-mailer?

  20. 20

    如何使用C#在ASP.NET背后的代码中访问HTML5音频play()事件

  21. 21

    如何在Play Framework 2.2.0 Scala(spec2,Mockito)中对Akka actor进行单元测试

  22. 22

    Play Framework 2:如何访问视图模板中隐藏表单字段的默认值?

  23. 23

    如何在Scala / Play中创建JSON对象

  24. 24

    如何在Scala Play Framework FORMS中验证负BigDecimals?

  25. 25

    Play框架:如何在Scala中定义可写对象?

  26. 26

    如何从Scala Play中以#分隔的网址中提取参数

  27. 27

    如何在Play框架中调用main.scala.html

  28. 28

    如何通过Play框架中的Scala连接到Cassandra

  29. 29

    如何在Scala Play 2.0中发送响应?

热门标签

归档