将toml文件名传递给spring上下文

时间:2017-09-27 07:31:43

标签: spring zeebe

必须使用配置toml文件的路径启动zeebe-broker。但是,在spring上下文中,我只在运行时获得此信息(它是一个cli参数)。 如何定义我的spring配置(基于注释)以为使用给定路径初始化的代理提供bean?

1 个答案:

答案 0 :(得分:0)

找到解决方案:可以通过以下方式访问命令行args:

 static Function<Environment, Optional<String>> tomlFileFromEnv = environment -> {
    String[] args = environment.getProperty("nonOptionArgs", String[].class, new String[0]);
    if (args == null || args.length == 0) {
        return Optional.empty();
    } else if (args.length > 1) {
        throw new IllegalArgumentException("requires exactly one cli argument, the tomlFile.");
    } else {
        return Optional.of(args[0]);
    }

};