我尝试使用 Postgresql 9.4 数据库在 Debain 12 上安装 Keycloak 服务器。 我在 keycloak DB 上使用 keycloakDs 配置了独立文件,并添加了 postgresql 模块来加载 postgresql 驱动程序。但是当我启动 Keycloak 服务器时,我收到一条错误消息:
WFLYCTL0184: New missing/unsatisfied dependencies:
service jboss.jdbc-driver.postgresql (missing) dependents: [service jboss.driver-demander.java:jboss/datasources/KeycloakDS, service org.wildfly.data-source.KeycloakDS]
service org.wildfly.clustering.infinispan.cache.keycloak.actionTokens (missing) dependents: [service jboss.naming.context.java.module.auth.auth.ValidatorFactory, service jboss.naming.
您可以在下面找到我的 postgresql 模块配置: KEYCLOAK_HOME/modules/system/layers/keycloak/org/postgresql 我有一个 module.xml 文件和 postgresql-9.4.1212.jar 文件。
模块.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.postgresql">
<resources>
<resource-root path="postgresql-9.4.1212.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
独立会议:
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://my-database-ip:5432/keycloak?ApplicationName=keycloak</connection-url>
<driver>postgresql</driver>
<pool>
<min-pool-size>5</min-pool-size>
<initial-pool-size>5</initial-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>user-name</user-name>
<password>password</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/>
</validation>
</datasource>
<drivers>
<driver name="postgresql" module="org.postgresql.connector">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
我通过将驱动程序部分删除到standalone.xml 中来解决我的问题,然后使用jboss-cli.sh 添加新的子系统
您可以在这里找到帮助:https://ralph.blog.imixs.com/2016/10/22/wildfly-install-postgresql-jdbc-driver-as-a-module/