ElasticSearch源码分析——入口类Elasticsearch
程序员文章站
2022-03-31 15:29:22
...
Java DNS缓存策略
DNS(Domain Name System,域名系统)服务器管理域名和IP的对应关系。
一次域名查询是非常耗时的操作,可能经过多台DNS服务器才能查找到指定的域名。
Java 内置提供了DNS缓存服务,重用已有的查询结果。默认将永久保留访问过的域名。
通过调用“Security.setProperty”设置缓存策略相关的配置属性。
配置属性 | 默认值 | 说明 |
networkaddress.cache.ttl | -1 | 域名查找成功时,缓存时间。为-1时,缓存永不过期。单位:秒 |
networkaddress.cache.negative.ttl | 10 | 域名查找失败时,缓存时间。 |
以上两个属性不能在命令行使用“-Dk=v”的方式设置。因此,ES中通过添加前缀“es.”的方式设置。
private static void overrideDnsCachePolicyProperties() { for (final String property : new String[] {"networkaddress.cache.ttl", "networkaddress.cache.negative.ttl" }) { final String overrideProperty = "es." + property; final String overrideValue = System.getProperty(overrideProperty); if (overrideValue != null) { try { // round-trip the property to an integer and back to a string to ensure that it parses properly Security.setProperty(property, Integer.toString(Integer.valueOf(overrideValue))); } catch (final NumberFormatException e) { throw new IllegalArgumentException( "failed to parse [" + overrideProperty + "] with value [" + overrideValue + "]", e); } } } }
提问1:为什么不通过配置文件中设置?
不一致问题,即配置文件在程序运行过程中可能被修改,但是程序中使用的还是原来的值。
Java SecurityManager
安全管理器用来检查操作是否有权执行。
一个Java常驻进程,如果限制IO读写、执行外部命令。被攻破时,将产生很大的安全隐患。
上一篇: 关于php headers_sent()函数的文章推荐
下一篇: 操作EXCEL实例用法总结
推荐阅读
-
通过JDK源码角度分析Long类详解
-
jQuery 源码分析(二) 入口模块
-
Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析
-
ElasticStack学习(八):ElasticSearch索引模板与聚合分析初探
-
[五]类加载机制双亲委派机制 底层代码实现原理 源码分析 java类加载双亲委派机制是如何实现的
-
SpringBoot整合Elasticsearch详细步骤以及代码示例(附源码)
-
CI框架安全类Security.php源码分析
-
别翻了,这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析【JVM篇二】
-
Laravel框架源码解析之入口文件原理分析
-
vue源码入口文件分析(推荐)