com.typesafe.config.ConfigException $ Missing:运行jar文件时找不到键'akka.stream'的配置设置

时间:2017-09-13 07:37:20

标签: akka akka-stream

我正在尝试运行Akka流应用程序,但在linux上运行时会遇到异常。

当我使用Windows调试器运行它时,它正在运行。

我尝试了这两个命令:

java -jar ./myService.jar -Dconfig.resource=/opt/myservice/conf/application.conf
java -jar ./myService.jar -Dconfig.file=/opt/myService/conf/application.conf

但我得到以下例外:

  

找不到关键字'akka.stream'的配置设置

我的application.conf文件:

akka {
    event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
    loglevel = "DEBUG"
    actor {
        debug {
            # enable function of LoggingReceive, which is to log any received message 
            at
            # DEBUG level
            receive = on
        }
    }

    stream {
        # Default materializer settings
        materializer {
            max-input-buffer-size = 16

            dispatcher = ""

            subscription-timeout {
                mode = cancel
                timeout = 5s
            }

            # Enable additional troubleshooting logging at DEBUG log level
            debug-logging = off

            # Maximum number of elements emitted in batch if downstream signals large demand
            output-burst-limit = 1000

            auto-fusing = on

            # Those stream elements which have explicit buffers (like mapAsync, mapAsyncUnordered,
            # buffer, flatMapMerge, Source.actorRef, Source.queue, etc.) will preallocate a fixed
            # buffer upon stream materialization if the requested buffer size is less than this
            max-fixed-buffer-size = 1000000000

            sync-processing-limit = 1000

            debug {
                fuzzing-mode = off
            }
        }

        blocking-io-dispatcher = "akka.stream.default-blocking-io-dispatcher"

        default-blocking-io-dispatcher {
            type = "Dispatcher"
            executor = "thread-pool-executor"
            throughput = 1

            thread-pool-executor {
                fixed-pool-size = 16
            }
        }
    }

    # configure overrides to ssl-configuration here (to be used by akka-streams, 
    and akka-http – i.e. when serving https connections)
    ssl-config {
        protocol = "TLSv1.2"
    }
}

ssl-config {
    logger = "com.typesafe.sslconfig.akka.util.AkkaLoggerBridge"
}

我添加了:

println(system.settings.config)

但是我得到了没有流节的结果

你能帮忙吗?

1 个答案:

答案 0 :(得分:1)

java命令行的语法是:

java [options] -jar filename [args]

此顺序很重要:您必须在-jar选项之前设置任何选项。

所以在你的情况下:

java -Dconfig.file=/opt/myService/conf/application.conf -jar ./myService.jar