Udało mi się to rozgryźć w moim przypadku. Sterownik JDBC dla postgresa został skonfigurowany do używania PGPoolingDataSource
i miał datasource-class
zdefiniowane.
<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>
Kiedy datasource-class
jest zdefiniowany, adres URL połączenia musi być przekazany przez connection-property
zamiast connection-url
. Zaktualizowałem konfigurację i serwer uruchomił się poprawnie.
<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>
Ten problem został odnotowany w narzędziu do śledzenia problemów związanych z Wildflyhttps://issues.jboss.org/browse/ WFLY-6157