Scala+;如何从HOCON配置中获取持续时间?

Scala+;如何从HOCON配置中获取持续时间?,scala,playframework,configuration,hocon,Scala,Playframework,Configuration,Hocon,假设我在application.conf文件中定义了一个持续时间值。上面说它可以解析持续时间,但我不知道如何解析 timeout = 60 milliseconds 我可以直接将其解析为持续时间值吗?理想情况下,我想做这样的事情 val timeout = current.configuration.getMilliseconds("timeout") (myActor ? GiveMeSomething)(timeout).mapTo[...] 但是超时是一个选项[Long]。谢谢你的提示

假设我在
application.conf
文件中定义了一个持续时间值。上面说它可以解析持续时间,但我不知道如何解析

timeout = 60 milliseconds
我可以直接将其解析为持续时间值吗?理想情况下,我想做这样的事情

val timeout = current.configuration.getMilliseconds("timeout")
(myActor ? GiveMeSomething)(timeout).mapTo[...]

但是超时是一个
选项[Long]
。谢谢你的提示。

我不相信你可以直接将其解析为持续时间值


我通常有一个助手类/方法为我做这件事,类似于这样:

我不相信您可以直接将其作为持续时间值进行解析

我通常有一个助手类/方法为我做这件事,类似于这样:

尝试getDuration(String,TimeUnit)方法

val timeout=config.getDuration(“timeout”,TimeUnit.ms)
尝试getDuration(字符串、时间单位)方法

val timeout=config.getDuration(“timeout”,TimeUnit.ms)

尝试以下方法:

import scala.concurrent.duration._
config.getMilliseconds("timeout").map(_.milliseconds)

这将为您提供一个
选项[持续时间]
;您可以获取/getOrElse以获取具体值。

尝试以下方法:

import scala.concurrent.duration._
config.getMilliseconds("timeout").map(_.milliseconds)

这将为您提供一个
选项[持续时间]
;您可以获取/getOrElse以获取具体值。

Play的配置支持持续时间、有限持续时间和其他Scala类型。使用:

获取[FiniteDuration](“path.to.duration”)

Configuration.get
函数采用隐式
ConfigLoader[A]
。Play附带了一个,并且很容易添加其他的Scala类型。

Play的配置确实支持持续时间、有限持续时间和其他Scala类型。使用:

获取[FiniteDuration](“path.to.duration”)

Configuration.get
函数采用隐式
ConfigLoader[A]
。Play提供了一个简单的选项,可以轻松添加其他选项。

Typesafe的
Config
类读取HOCON文件,并提供
getDuration(路径:String):Duration
方法。我想您必须做所有的准备工作,找出正确的位置来读取配置文件,因为Typesafe的
Config
类读取HOCON文件并提供
getDuration(path:String):Duration
方法。我想你必须做所有的准备工作,找出读取配置文件的正确位置,因为我认为Play
configuration
类中不存在这种方法。它确实存在于Typesafe
Config
类中,但它返回一个long。我认为问题在于获取
Duration
返回类型。因此,一个答案是在Typesafe
Config
类上使用
.getDuration(路径:String):Duration
方法。我认为Play
配置
类上不存在该方法。它确实存在于Typesafe
Config
类中,但它返回一个long。我认为问题在于获取
Duration
返回类型。因此,一个答案是在Typesafe
Config
类上使用
.getDuration(路径:String):Duration
方法。原始URL不存在,用户被重定向到clickbait网站。原始URL不存在,用户被重定向到clickbait网站。