赞
踩
最近将springboot从2.x升级到3.x后,服务后台一直报javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 异常,但是服务可以正常访问。
升级springboot3.x后,项目使用的mysql驱动版本未进行调整,因此分析原因可能是SpringBoot3.x与MYSQL驱动不兼容导致,大多数网友给的解决方案都是数据库连接添加 useSSL=false 的设置,如果不需要SLL认证的话可以这样处理。但是大多数情况下本身就是要求我们用SSL方式连接数据库,那么需要使用SSL方式连接数据库我们应该怎么解决呢?
1、如果不要求使用SSL方式连接,参考广大网友的方案,数据库连接添加 useSSL=false 的设置即可。
2、如果需要使用SSL方式连接,则需要解决SpringBoot3.x与MYSQL版本不兼容的问题,我们将mysql-connector-java包进行替换即可。
替换前
- <!-- mysql -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <scope>runtime</scope>
- <version>8.0.13</version>
- </dependency>
替换后
- <!-- mysql -->
- <dependency>
- <groupId>com.mysql</groupId>
- <artifactId>mysql-connector-j</artifactId>
- <scope>runtime</scope>
- <version>8.3.0</version>
- </dependency>
注意:不只是版本的替换,groupId和artifactId也不一样!
注意:不只是版本的替换,groupId和artifactId也不一样!
注意:不只是版本的替换,groupId和artifactId也不一样!
通过上述依赖包替换后,控制台不再报javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 异常,问题成功解决!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。