在使用Akka actor模型时,我对akka.conf
配置文件有一些不理解的地方(对于Java,但对于Scala必须相同)。
例如,使用远程模块时:
我有时会看到这样的东西:
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
而有时候:
akka {
actor {
provider = remote
}
remote {
首先,键provider
的期望值是什么?有时它是类名,有时它只是remote
。顺便问一下,考虑到remote在akka
命名空间下,为什么它是remote
而不是akka.remote
?
1条答案
按热度按时间3vpjnl9f1#
从reference.conf(撰写本答案时的当前值):
akka.actor.provider
是在启动时解释的字符串。此解释通过构造ProviderSelection
(请参阅此处)来发生。如果提供了完全限定的类名,则使用该类名。cluster
、local
(默认值,来自reference.conf
)和remote
分别是akka.cluster.ClusterActorRefProvider
、akka.actor.LocalActorRefProvider
和akka.remote.RemoteActorRefProvider
的同义词。