Tôi đã tìm ra điều này cho trường hợp của mình. Trình điều khiển JDBC cho postgres đã được định cấu hình để sử dụng PGPoolingDataSource
và có datasource-class
được xác định.
<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>
Khi datasource-class
được xác định, url kết nối phải được chuyển qua một connection-property
thay vì connection-url
. Tôi đã cập nhật cấu hình của mình và máy chủ khởi động tốt.
<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>
Vấn đề này được ghi nhận trong trình theo dõi sự cố đom đóm https://issues.jboss.org/browse/ WFLY-6157