【发布时间】:2016-11-29 20:17:15
【问题描述】:
我正在尝试在我的 Scala-Play 应用程序中为 DNS 查找设置 TimeToLive 设置。我使用 Play 2.5.9 和 Scala 2.11.8 并关注the AWS guide。我尝试了以下方法:
-
在 application.conf 中
// Set DNS lookup time-to-live to one minute networkaddress.cache.ttl=1 networkaddress.cache.negative.ttl=1 -
在 AppModule 或 EagerSingleton 中(代码类似)
class AppModule() extends AbstractModule { Security.setProperty("networkaddress.cache.ttl", "1") Security.setProperty("networkaddress.cache.negative.ttl", "1") ... } -
作为环境变量传递:
sbt -Dsun.net.inetaddr.ttl=1 clean run
我在应用程序中有以下一段测试代码:
for (i <- 1 to 25) {
System.out.println(java.net.InetAddress.getByName("google.com").getHostAddress())
Thread.sleep(1000)
}
这总是打印相同的 IP 地址,例如216.58.212.206。对我来说,上面指定的方法似乎都没有任何效果。但是,也许我正在测试其他东西,而不是实际的 TTL 值。因此,我有两个问题:
- 将安全变量传递到 Play 应用程序的正确方法是什么?
- 如何测试?
【问题讨论】:
标签: scala playframework dns ttl