在 IntelliJ 中启动 Spring Boot 应用程序时进行 DNS 查找

问题描述 投票:0回答:1

IntelliJ 是否提供任何方式让我们在启动应用程序(Spring Boot - Gradle)时从 .properties 文件查找 DNS,以便所有入站 API URL 的调用都转到替换的 DNS IP?

spring-boot gradle intellij-idea jetbrains-ide
1个回答
0
投票

如果我正确回答了你的问题,你可以使用DnsResolver。你可能会使用,比方说,一个restTemplate来进行网络调用,你可以通过定制它的DnsResolver来增强它的HttpClient。

class RestTemplateWithDnsOverrideConfig {
@Bean
RestTemplate createRestTemplate() {
    return new RestTemplate(
            new HttpComponentsClientHttpRequestFactory(
                    HttpClientBuilder.create()
                            .setDnsResolver(createDnsResolver())
                            .build()
            )
    )
}

private DnsResolver createDnsResolver() {
    return new DnsResolver() {
        @Override
        InetAddress[] resolve(String host) throws UnknownHostException {
            return [Inet4Address.getByAddress([127, 0, 0, 1] as byte[])]
        }
    }
}

}

还可以查看这个答案

© www.soinside.com 2019 - 2024. All rights reserved.