Problème de connexion JDBC sur une base oracle

Je suis tombé récemment sur un problème curieux, lors de l'installation d'une plate-forme de test de CA Identity Manager.

L'application tourne sous JBoss EAP 6, avec un Java 1.8, et une base Oracle 12C.

Après avoir installé la base et créé le listener, on observe un comportement curieux :

  • la connexion sous sqlplus fonctionne bien
  • la connexion avec un client java, via jdbc, tombe en timeout.

Pour la connexion, je teste avec un client SQL java en ligne de commande (jisql, voir les tests ici https://www.vincentliefooghe.net/node/73).

SQLException : SQL state: 08006 java.sql.SQLRecoverableException: Erreur d'E/S: Connection reset ErrorCode: 17002

Mais on a le même souci lors du déploiement de l'application sous JBoss :

WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject] (MSC service thread 1-2) IJ000604: Throwable while attempting to get a new connection: null: javax.resource.ResourceException: Could not create connection
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:356)
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.access$200(LocalManagedConnectionFactory.java:63)
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory$1.run(LocalManagedConnectionFactory.java:279)
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory$1.run(LocalManagedConnectionFactory.java:270)
        at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_73]
        at javax.security.auth.Subject.doAs(Subject.java:422) [rt.jar:1.8.0_73]

Après plusieurs - longues - recherches sur internet, il s'avère que c'est lié au calcul d'entropie.

En passant un paramètre dans la commande java, on supprime ces problèmes :

java -Djava.security.egd=file:///dev/urandom

Dans le lancement de JBoss, on ajoute la ligne suivante, avant l'appel à la JVM :

JAVA_OPTS=" $JAVA_OPTS -Djava.security.egd=file:///dev/urandom "

 

Catégorie
Tag