SOLVED | DiffieHellman KeyPairGenerator not available | switch from Java 8 to 11

Hello,

Payara: 5-2022-5
OS: Windows 10
Java: 11 (GraalVM CE 21.0.0 or eclipse-temurin-11)

When I try to deploy my application in Java 11 I get the following message:

  RAR5117 : Failed to obtain/create connection from connection pool [ { PoolInfo : (name=java:app/OracleDbMetadataPool), (applicationName=merlin-webapp-1.1-SNAPSHOT) } ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: java.security.NoSuchAlgorithmException: DiffieHellman KeyPairGenerator not available]]

The connection pool is configured as follows:

    <jdbc-connection-pool name="OracleDbMetadataPool"
                          res-type="javax.sql.DataSource"
                          datasource-classname="oracle.jdbc.pool.OracleDataSource"
                          statement-cache-size="25"
                          pool-resize-quantity="2"
                          max-pool-size="16"
                          steady-pool-size="8"
                          max-wait-time-in-millis="5000"
                          is-isolation-level-guaranteed="true"
                          pooling="true"
                          is-connection-validation-required="true"
                          connection-validation-method="custom-validation"
                          validation-classname="org.glassfish.api.jdbc.validation.OracleConnectionValidation"
                          connection-leak-timeout-in-seconds="5"
                          statement-leak-timeout-in-seconds="30">
        <property name="URL" value="jdbc:oracle:thin:@xx.xx.xx.xxxx:1521:abcd"/>
        <property name="User" value="xxxxxx"/>
        <property name="Password" value="xxxxxx"/>
    </jdbc-connection-pool>

    <jdbc-resource enabled="true" jndi-name="java:app/jdbc/OracleDbMetadataPool" pool-name="OracleDbMetadataPool"/>

Is there a problem with the Oracle database driver, or do I have to adjust something specifically for Java11?
With Java 8 I get the application deployed without any problems.

Steven

I found a solution.
The “sunjce_provider.jar” file must be copied from the java 8 SDK “jre/lib/ext” to the Payara directory “…/domains/domainXYZ/lib/ext”. This makes the algorithm known to the oracleDB database driver. This package is no longer available from SDK 11.

Wonder why nobody else has had this problem before.