升级Tomcat服务器Oracle驱动至ojdbc17后UCP启动失败及DH密钥协商异常求助
升级Tomcat服务器Oracle驱动至ojdbc17后UCP启动失败及DH密钥协商异常求助
最近我给部署在Tomcat上的Java17应用升级了Oracle驱动,从原来的ojdbc8换成了ojdbc17和ucp17.jar,结果现在数据库连接直接报错了😭。
报错信息如下:
org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: UCP-0: Unable to start the Universal Connection Pool at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:83) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:646) at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:960) Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: when l value specified, it must be less than bitlength(p) at oracle.net.aso.DiffieHellman$DHJCEWrapper.getPublicKey(DiffieHellman.java:148) at oracle.net.ano.DataIntegrityService.receiveServiceData(DataIntegrityService.java:253) at oracle.net.ano.Service.receiveSelection(Service.java:360) And the last caused by is : Caused by: java.lang.IllegalArgumentException: when l value specified, it must be less than bitlength(p) at org.bouncycastle.crypto.params.DHParameters.<init>(Unknown Source) at org.bouncycastle.crypto.params.DHParameters.<init>(Unknown Source) at org.bouncycastle.jce.provider.JDKKeyPairGenerator$DH.initialize(Unknown Source) at java.base/java.security.KeyPairGenerator.initialize(KeyPairGenerator.java:436)
之前我的类路径里有个旧版本的Bouncy Castle包bcprov-jdk16:1.46,我想着是不是版本太老不兼容Java17和新驱动,就把它升级成了bcprov-jdk18on,但还是报同样的错,实在没辙了。有没有懂的大佬给指点下方向呀?
备注:内容来源于stack exchange,提问作者YS_NE
相关产品推荐
相关产品推荐

