我正在用MySQL编写一个简单的JDBC代码。一切正常,我可以通过select语句在表中打印记录。但是,当我使用Connection.close()关闭连接时,出现以下异常。任何帮助表示赞赏。
WARN: Caught while disconnecting...
EXCEPTION STACK TRACE:
** BEGIN NESTED EXCEPTION **
javax.net.ssl.SSLException
MESSAGE: closing inbound before receiving peer's close_notify
STACKTRACE:
javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:129)
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255)
at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:645)
at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:624)
at com.mysql.cj.protocol.a.NativeProtocol.quit(NativeProtocol.java:1312)
at com.mysql.cj.NativeSession.quit(NativeSession.java:182)
at com.mysql.cj.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:1750)
at com.mysql.cj.jdbc.ConnectionImpl.close(ConnectionImpl.java:720)
at com.jdbc.Driver.display(Driver.java:27)
at com.jdbc.Driver.main(Driver.java:38)
答案 0 :(得分:4)
这是Java 11 https://bugs.mysql.com/bug.php?id=93590上的MySQL驱动程序的问题
此问题已在Connector / J版本8.0.16中修复
答案 1 :(得分:0)
另一种解决方法是通过将 ?useSSL=false
附加到 JDBC URL 来禁用 SSL。
jdbc:mysql://localhost:port/database_name?useSSL=false
答案 2 :(得分:-1)
设置db_url =“ jdbc:mysql:// localhost:3306 / TEST?useSSL = false”,TEST是我的本地主机数据库。