Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Akka 阿克卡的默认系统何时准备就绪?_Akka_Playframework 2.3 - Fatal编程技术网

Akka 阿克卡的默认系统何时准备就绪?

Akka 阿克卡的默认系统何时准备就绪?,akka,playframework-2.3,Akka,Playframework 2.3,我在Play 2.3.7中编写了一个应用程序,当尝试在全局对象的beforeStart重写方法中使用默认的Akka.system of Play创建一个参与者时,应用程序因beforeStart的一些无限递归调用而崩溃,最终由于全局对象未初始化而引发异常。如果我在onStart方法中创建这个actor,那么一切都会顺利进行 我的直觉是:好的,这个参与者必须在应用程序收到第一个请求之前准备好,所以它必须在beforeStart上创建,而不是在onStart中创建 Akka.system什么时候可以

我在Play 2.3.7中编写了一个应用程序,当尝试在全局对象的beforeStart重写方法中使用默认的Akka.system of Play创建一个参与者时,应用程序因beforeStart的一些无限递归调用而崩溃,最终由于全局对象未初始化而引发异常。如果我在onStart方法中创建这个actor,那么一切都会顺利进行

我的直觉是:好的,这个参与者必须在应用程序收到第一个请求之前准备好,所以它必须在beforeStart上创建,而不是在onStart中创建

Akka.system什么时候可以使用?

您必须在onStart中启动它,因为beforeStart调用得太早了-在创建类似Akka的插件或任何数据库连接之前。事实上:

由插件管理的资源,如数据库连接,此时可能不可用

一般的指导是onStart是创建参与者的地方。实际上,这对我来说也很有效。

你必须在onStart中启动它,因为beforeStart调用得太早了——在Akka之类的插件或任何数据库连接创建之前。事实上:

由插件管理的资源,如数据库连接,此时可能不可用

一般的指导是onStart是创建参与者的地方。实际上,这对我也很有效。

Akka.system返回由AkkaPlugin持有的ActorSystem。因此,如果您想使用它,必须在AkkaPlugin被初始化之后进行。AkkaPlugin的优先级为1000,这意味着它是在大多数其他内部插件数据库、evolutions。。。全局插件的优先级为10000,这意味着AkkaPlugin在那里以及任何优先级>1000的插件都可用

请注意文档中关于beforeStart的警告:

在应用程序启动之前调用

由插件管理的资源,如数据库连接,此时可能不可用

系统返回AkkaPlugin持有的ActorSystem。因此,如果您想使用它,必须在AkkaPlugin被初始化之后进行。AkkaPlugin的优先级为1000,这意味着它是在大多数其他内部插件数据库、evolutions。。。全局插件的优先级为10000,这意味着AkkaPlugin在那里以及任何优先级>1000的插件都可用

请注意文档中关于beforeStart的警告:

在应用程序启动之前调用

由插件管理的资源,如数据库连接,此时可能不可用