我正在尝试使用postgres与keycloak。以下文档
$ ls keycloak-9.0.0/modules/system/layers/keycloak/org/postgresql/main
config.xml postgresql-42.2.10.jar
这是config.xml文件。config.xml
<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.3" name="org.postgresql">
<resources>
<resource-root path="postgresql-42.2.10.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
这些是我在standalone.xmlstandalone.xml中所做的更改
<datasources>
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/test</connection-url>
<driver>postgresql</driver>
<pool>
<max-pool-size>20</max-pool-size>
</pool>
<security>
<user-name>postgres</user-name>
<password>StrongPassword</password>
</security>
</datasource>
<drivers>
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
<default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/KeycloakDS">
我遇到的错误。error
06:13:39,430 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 32) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("jdbc-driver" => "postgresql")
]) - failure description: "WFLYJCA0115: Module for driver [org.postgresql] or one of it dependencies is missing: [org.postgresql]"
我该如何解决这个问题?
5条答案
按热度按时间inn6fuwd1#
我可以建议另一种配置方法吗?我使用下面的方法来配置PostgreSQL和Keycloak,它运行得很好。关键是对一个停止的Keycloak运行这个方法(使用全新安装)。将下面的代码保存为类似
setup-keycloak.cli
的文件:然后使用
$KEYCLOAK_HOME/bin/jboss.sh --file=setup-keycloak.cli
运行此命令。此命令将删除KeycloakDS数据源,添加PostgreSQL模块,并使用您的参数重新创建KeycloakDS数据源。只要您有PostgreSQL JDBC驱动程序的本地副本,就可以随时使用此命令来重新生成配置。pn9klfpd2#
我认为您的问题是您将设置命名为
config.xml
,而应该是module.xml
。其次,您必须将postgresql jar下载到该位置:
curl -O https://jdbc.postgresql.org/download/postgresql-X.X.X.jar > /opt/keycloak/modules/system/layers/keycloak/org/postgresql/main
只需将X.X.X替换为您的版本。然后重新启动服务器。
附言:你应该用保险库来存放你密码。
5jdjgkvh3#
这对我有用。
1.在基本目录内创建PostgreSQL模块.xml**(不是config.xml)**(密钥掩码-11.0.2/模块/系统/层/基本/com/postgresql/)
1.更新标准. xml
ctrmrzij4#
这对我的单机版很有效:
1.在文件module.xml中
2.在文件standalone.xml中
3.in 标准. xml
hrysbysz5#
对于那些从Dockerized
jboss/keycloak
示例的教程中了解到这一点的人来说,您已经拥有了内置的rdbms
支持,而无需任何配置:https://hub.docker.com/r/jboss/keycloak/