Sono riuscito a capirlo per il mio caso. Il driver JDBC per postgres è stato configurato per utilizzare un PGPoolingDataSource
e aveva una datasource-class
definito.
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
<datasource-class>org.postgresql.ds.PGPoolingDataSource</datasource-class>
</driver>
Quando il datasource-class
è definito, l'URL di connessione deve essere passato attraverso una connection-property
invece di connection-url
. Ho aggiornato la mia configurazione e il server si è avviato correttamente.
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://{REMOTE_IP}:5432/keycloak</connection-url>
<connection-property name="url">jdbc:postgresql://{REMOTE_IP}:5432/keycloak</connection-property>
<driver>postgresql</driver>
<pool>
<max-pool-size>20</max-pool-size>
</pool>
<driver-class>org.postgresql.Driver</driver-class>
<security>
<user-name>keycloak</user-name>
<password>{PASSWORD}</password>
</security>
</datasource>
Questo problema è segnalato nel tracker dei problemi wildflyhttps://issues.jboss.org/browse/ WFLY-6157