有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javanio2endpoint。NiO2插片机。springboot应用程序中的getSslSupport异常

我为spring boot应用程序实现了一个自签名ssl证书。虽然结果正如预期的那样,但是我发现下面的异常被抛出。 使用Springboot:2.1.8和Tomcat:9.0.24

我试着从“组织”更改协议。阿帕奇。郊狼。http11。Http11NioProtocol“with”org。阿帕奇。郊狼。http11。HTTP11NiO2协议'。但还是有例外

抛出的异常

@Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        TomcatServletWebServerFactory tomcatServletWebServerFactory = new TomcatServletWebServerFactory();
        tomcatServletWebServerFactory.setProtocol("org.apache.coyote.http11.Http11Nio2Protocol");
        return tomcatServletWebServerFactory;
    }
    at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.getSslSupport(Nio2Endpoint.java:1581) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1685) [tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1087) [tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeReadCompletionHandler.failed(SecureNio2Channel.java:104) [tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeReadCompletionHandler.completed(SecureNio2Channel.java:97) [tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.SecureNio2Channel$HandshakeReadCompletionHandler.completed(SecureNio2Channel.java:92) [tomcat-embed-core-9.0.24.jar:9.0.24]
    at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) [na:1.8.0_201]
    at sun.nio.ch.Invoker$2.run(Invoker.java:218) [na:1.8.0_201]
    at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [na:1.8.0_201]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_201]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_201]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.24.jar:9.0.24]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]

共 (1) 个答案

  1. # 1 楼答案

    这是Tomcat9.0.24中的一个known bug。当您尝试在启用TLS的连接器上使用纯文本时,会触发该命令。这个错误在最近发布的9.0.26中得到了修复