Я устанавливаю соединение через веб-сокет, когда оно устанавливает соединение WS, если это соединение WSS получает ошибку.
Код:
public void start() throws Exception {
HttpClientOptions options = new HttpClientOptions();
options.setSsl(true);
HttpClient client = vertx.createHttpClient(options);
MultiMap form = MultiMap.caseInsensitiveMultiMap();
form.set("Authorization", "bearer token");
RequestOptions options2 = new RequestOptions()
.setHost("somehost")
.setPort(443)
.setSsl(true)
.setURI("/someuri");
client.websocket(options2, form, (ctx) ->{
ctx.textMessageHandler( msg -> {
System.out.println(msg);
}).exceptionHandler((e) -> {
e.printStackTrace();
client.close();
});
}, (exec) -> {
exec.printStackTrace();
});
}
pom.xml:
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-core</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-web</artifactId>
<version>3.6.3</version>
</dependency>
Исключение:
java.net.UnknownHostException: не удалось разрешить «somehost».Превышено максимальное количество запросов на разрешение 4
на io.netty.resolver.dns.DnsResolveContext.finishResolve (DnsResolveContext.java:845) на io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve:80: Dns.по адресу io.netty.resolver.dns.DnsResolveContext.query (DnsResolveContext.java:333) по адресу io.netty.resolver.dns.DnsResolveContext.query (DnsResolveContext.java:322) по адресу io.netty.resolver.TolveTin(DnsResolveContext.java:779) в io.netty.resolver.dns.DnsResolveContext.query (DnsResolveContext.java:333) в io.netty.resolver.dns.DnsResolveContext.query (DnsResolveContext.joresolver.dns.DnsResolveContext.tryToFinishResolve (DnsResolveContext.java:779) по адресу io.netty.resolver.dns.DnsResolveContext.query (DnsResolveContext.java:333) по адресу io.netty.resolver.olvetecontev322) по адресу io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve (DnsResolveContext.java:779) по адресу io.netty.resolver.dns.DnsResolveContext.query (DnsResolveContext.java:333) по адресу io.netty.resolver.dns.DnsResolveContext.query (DnsResolveContext.java:322) по адресу io.netty.resolver.dns.DnsResolveContext.access $ 500 (DnsResjava. 62).netty.resolver.dns.DnsResolveContext $ 3.operationComplete (DnsResolveContext.java:379) в io.netty.util.concurrent.DefaultPromise.notifyListener0 (DefaultPromise.java:511) в io.netty.util.conromistenPef.java: 504) по адресу io.netty.util.concurrent.DefaultPromise.notifyListenersNow (DefaultPromise.java:483) по адресу io.netty.util.concurrent.DefaultPromise.notifyListeners (DefaultPromise.java:424) по адресу io.netty.util.concurrent.DefaultPromise.tryFailure (DefaultPromise.java:121) в io.netty.resolver.dns.DnsQueryContext.setFailure (DnsQueryContext.java:216) в io.netty.resolver.dns.DnsQueryContext.access $ 30043 (DnsQuju)) в io.netty.resolver.dns.DnsQueryContext $ 4.run (DnsQueryContext.java:166) в io.netty.util.concurrent.PromiseTask $ RunnableAdapter.call (PromiseTask).java: 38) на io.netty.util.concurrent.ScheduledFutureTask.run (ScheduledFutureTask.java:127) на io.netty.util.concurrent.AbstractEventExecutor.safeExecute (AbstractEventExecutor.java:163) на io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks (SingleThreadEventExecutor.java:404) в io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java:462) в io.netty.util.concurrent.SingleThreadEventExecutor 5. Single $ 5) в io.netty.util.concurrent.FastThreadLocalRunnable.run (FastThreadLocalRunnable.java:30) в java.lang.Thread.run (Thread.java:748)
Причина: io.netty.resolver.Время ожидания запроса dns.DnsNameResolverTimeoutException: [/xx.xxx.xxx.xxx:xx] истекло 5000 миллисекунд (трассировка стека недоступна)
Если я использовал System.setProperty("vertx.disableDnsResolver", "true")
установление соединения, но мне нужно было с DNS.