问题标签 [hocon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
386 浏览

scala - 在运行时从自定义位置加载 HOCON 格式的类型安全配置

我有一个应用程序,它可以通过文件获取工作配置信息(可能有几十个文件,每个文件都描述了应用程序要完成的特定工作,最好是灵活地确定它们的位置),为此我们选择了 HOCON 格式和类型安全库。

它在从资源文件夹进行开发加载时效果很好,但目的是在运行时通过参数传递这些配置文件的路径,同时调用 spark-submit (spark-submit ... pathToFile ...)。

但是读取文件的路径失败并出现以下错误:

如何从 /resources 以外的其他位置读取配置文件?

解决方案

根据@hagarwal 提示,以下工作

0 投票
1 回答
735 浏览

apache-spark - 将 conf 文件添加到 Google Dataproc 中的类路径

我们正在使用 HOCON 配置在 Scala 中构建 Spark 应用程序,该配置名为application.conf.

如果我将 jar 添加application.conf到我的 jar 文件并在 Google Dataproc 上开始工作,它会正常工作:

我不想将application.confjar 文件与我的 jar 文件捆绑在一起,而是单独提供,我无法正常工作。

尝试了不同的东西,即

  1. 指定 application.conf --jars=gs://<bucketname>/application.conf(应该根据这个答案工作)
  2. 使用--files=gs://<bucketname>/application.conf
  3. 与 1. + 2. 相同,应用程序 conf 在/tmp/集群的主实例上,然后指定本地文件file:///tmp/application.conf
  4. 使用(和执行者)定义extraClassPath火花--properties=spark.driver.extraClassPath=gs://<bucketname>/application.conf

使用所有这些选项我得到一个错误,它在配置中找不到密钥:

此错误通常意味着 HOCON 配置中有错误(密钥xyz未在 HOCON 中定义)或application.conf不在类路径中。由于在我的 jar 文件中使用完全相同的配置,因此我认为是后者。

是否有任何其他选项可以将其application.conf放在类路径中?

0 投票
3 回答
2358 浏览

java - 将 HOCON 字符串转换为 Java 对象

我的 Web 服务之一返回以下 Java 字符串:

我有上述字符串的等效 Java 对象。我想将上面的 java 字符串类型转换或转换为 Java 对象。

我不能对它进行类型转换,因为它是一个字符串,而不是一个对象。因此,我试图将 Java 字符串转换为 JSON 字符串,然后我可以将该字符串写入 Java 对象,但没有运气出现invalid character "="异常。

您可以更改 Web 服务以返回 JSON 吗?

那是不可能的。他们没有改变他们的合同。如果他们返回 JSON,那将非常容易。

0 投票
1 回答
113 浏览

scala - 如何在 HOCON 中合并对象和非对象值?

我在我的项目中使用 HOCON 配置。但我坚持配置 Hive 连接。

HOCON 文档说:

JSON 规范没有说明如何处理同一对象中的重复键。在 HOCON 中,后面出现的重复键会覆盖前面出现的键,除非两个值都是对象。如果两个值都是对象,则合并对象。

现在有了这两个配置,我怎样才能让这个 HOCO 都读取它们呢?

0 投票
1 回答
173 浏览

vert.x - 如何让 HOCON 配置文件格式在部署为 fat jar 的 Vert.x 中工作?

我想在部署为 fat jar 的 Vert.x 应用程序中使用HOCON格式进行配置。我面临着与这个类似问题中描述的相同的问题

但是我应用了gradle插件“io.vertx.vertx-plugin”(v1.0.1)并成功地将线路io.vertx.config.hocon.HoconProcessor放入 META-INF/services/io.vertx.config.spi.ConfigProcessorjar中。

我仍然得到例外。在 jar 中正确捆绑 HoconProcessor 类还需要什么?

0 投票
1 回答
75 浏览

bash - 如何将 bash 脚本插入 Hocon 变量

我有一个 bash 脚本作为变量值的 kubernetes yaml 文件。

我想将 yaml 转换为 Hocon / Typsafe .conf 格式,这样我就可以注入变量并在它们运行时转换为 yaml。

如果可能,我如何将此值转换为 Hocon?

0 投票
1 回答
240 浏览

akka - 配置文件 Akka 集群

我正在使用 akka 集群并尝试为不同的环境设置两个不同的配置。

  • 一个用于我的本地设置,我将使用种子节点来启动我的应用程序
  • 两个用于我的生产 Kubernetes 设置。

我尝试了来自 Akka 的 Config Docs,其中提到了 conf 文件中的-Dconfig.resource=/dev.confand include application,但它仍然不断要求akka.discovery.methodinapplication.conf

下面是我的两个配置文件:

应用程序.conf

应用程序-seed.conf

当我使用参数运行代码时:

-D config.resource=/application-seed.conf

它向我抛出了错误:

中未配置默认服务发现实现akka.discovery.method。确保将此设置配置为您的首选实现,例如 application.conf 中的“akka-dns”(来自 akka-discovery 模块)。

以前有人做过这种设置吗?

0 投票
2 回答
3002 浏览

python - 如何在 Python 3 中使用 pyhocon 动态生成 Hocon conf 文件?

我想使用自动化来使用 python 3 脚本创建 hocon 配置。我读到 lightbend ( https://github.com/lightbend/config ) 推荐 pyhocon ( https://github.com/chimpler/pyhocon )。

我在弄清楚如何创建 Hocon 对象并将数据作为 hocon 写入文件时遇到问题。对我来说,替换的语法在结果中很重要。

例如,我希望文件 myconfig.conf 的输出看起来像这样:

所以,我认为有一种方法可以做这样的事情:

然后在创建填充对象之后,应该有一种简单的方法来写出一个或多个文件:

有没有人想出办法做到这一点?该库只能用于读取数据,这似乎很奇怪。

0 投票
2 回答
417 浏览

corda - 如何将新节点添加到现有的 Corda 网络?

我有一个用例,我需要向现有的 Corda 网络添加一个新节点(假设在现有的 Corda 网络中,当前正在运行 2 个节点(A,B 节点),现在需要将节点 C 添加到该网络。

我也浏览了以下链接,但没有运气:
将新节点添加到现有的 Corda 网络
找不到网络参数文件和兼容区域未配置/无法访问
在 CORDA 中动态部署和运行节点

我尝试了以下方法:我在 build.gradle 中的 deployNodes任务
中添加了 A 和 B 节点配置,然后运行 ​​deployNodes 任务,以便 A 和 B 节点成功启动现在我创建新文件夹 PartyC 并在其中添加了corda.jar节点。 conf节点 C 然后运行命令: 但运行此命令时出现以下异常:
java -jar corda.jar

新节点(节点 C)的 node.conf 文件如下:

我无法了解我应该如何在此 node.conf 文件中添加网络参数或兼容区域。

0 投票
1 回答
841 浏览

scala - 在类型安全配置中使用 withFallBack 合并配置中的数组值

我有一些数据可用作 HOCON 格式的类型安全配置文件。

有一个像这样的基本文件:

可能有一个文件可用于进行一些更改,例如在测试期间,如下所示:

我正在尝试使用合并这两个文件

fileConfig.withFallback(baseFileConfig)

最终结果是:

即,来自 fallBack 配置的“k1”的数组值将被忽略。有没有办法可以在合并后从两个文件中获取连接数组?