我有下面的Akka 微内核:
class ServiceKernel extends Bootable {
val system = ActorSystem("service-kernel")
def startup = {
system.actorOf(Props(new Boot(false))) ! Start
}
def shutdown = {
system.shutdown()
}
}
因为内核扩展Bootable
而不是App
,我将如何访问启动内核时使用的命令行参数?例如,如果我使用start namespace.ServiceKernel -d rundevmode
或类似方式运行内核。谢谢!
附加信息
我认为值得在微内核中添加有关启动脚本的信息。在/bin/start
您注意到以下内容:
#!/bin/sh
AKKA_HOME="$(cd "$(cd "$(dirname "$0")"; pwd -P)"/..; pwd)"
AKKA_CLASSPATH="$AKKA_HOME/config:$AKKA_HOME/lib/*"
JAVA_OPTS="-Xms256M -Xmx512M -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2"
java $JAVA_OPTS -cp "$AKKA_CLASSPATH" -Dakka.home="$AKKA_HOME" akka.kernel.Main "$@"
尽管 om-nom-nom 最初建议-D
使用选项,但它看起来正在使用中,并且主要启动参数正在传递给akka.kernel.Main
类(在这种情况下是ServiceKernel
上面的类)。