Невозможно использовать postgres с Keycloak - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь использовать postgres с keycloak. следующий Do c

$ ls keycloak-9.0.0/modules/system/layers/keycloak/org/postgresql/main
  config.xml  postgresql-42.2.10.jar

Это файл конфигурации. 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>

Это изменения, которые я сделал в автономном режиме. xml в автономном режиме. 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">

Ошибка, которую я получаю. ошибка

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]"

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 21 февраля 2020

Могу ли я предложить другой способ настройки этого, который с меньшей вероятностью будет иметь проблемы? Я использую следующее для настройки PostgreSQL и Keycloak, и это работает хорошо. Ключ должен запустить это против остановленного Keycloak (используя установку fre sh). Сохраните ниже что-то вроде setup-keycloak.cli:

embed-server --server-config=standalone.xml --std-out=echo

batch
#
# remove the default provided datasource
#
/subsystem=datasources/data-source=KeycloakDS/:remove

#
# add them
#
module add --name=org.postgres --resources=/path/to/postgresql-42.2.10.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)

/subsystem=datasources/data-source=KeycloakDS/:add(connection-url=jdbc:postgresql://localhost:5432/keycloak_database,driver-name=postgres,jndi-name=java:jboss/datasources/KeycloakDS,initial-pool-size=4,max-pool-size=64,min-pool-size=4,password=keycloak_user,user-name=keycloak_pass)

run-batch

Затем запустите это с $KEYCLOAK_HOME/bin/jboss.sh --file=setup-keycloak.cli. Это удаляет источник данных KeycloakDS, добавляет модуль PostgreSQL и воссоздает источник данных KeycloakDS с вашими параметрами. Вы можете использовать это для воспроизведения конфигурации в любое время, если у вас есть локальная копия драйвера PostgreSQL JDB C.

...