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

时间:2016-01-09 08:51:01

标签: scala playframework configuration hocon

想象一下,我的NSDate *thisMonth = [NSDate date]; PFQuery *foodList = [PFQuery queryWithClassName:@"food"]; [foodList whereKey:@"food_date" 文件中定义了持续时间值。 documentation表示它可以解析持续时间,但我无法查看。

application.conf

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

timeout = 60 milliseconds

但超时是val timeout = current.configuration.getMilliseconds("timeout") (myActor ? GiveMeSomething)(timeout).mapTo[...] 。感谢您的任何提示。

4 个答案:

答案 0 :(得分:1)

Play的配置确实支持Duration,FiniteDuration和其他Scala类型。使用: configuration.get[FiniteDuration]("path.to.duration") Configuration.get函数采用隐式ConfigLoader[A]。 Play附带lot of implementations并且很容易添加其他内容。

答案 1 :(得分:0)

尝试使用getDuration(String,TimeUnit)方法。

val timeout = config.getDuration("timeout", TimeUnit.MILLISECONDS)

答案 2 :(得分:0)

尝试这样的事情:

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

那将给你Option[Duration];你可以得到/ getOrElse来获得具体的价值。

答案 3 :(得分:-1)

我不相信你可以直接解析它作为持续时间值。

我通常有一个助手类/方法为我做,类似于:http://pierreandrews.net/posts/config-scala.html