zoukankan      html  css  js  c++  java
  • keycloak创建跨库数据源

    keycloak在书写User Storage Provider的时候,若登录数据分散到不同的应用数据库中,采用User Storage Provider实现的时候,需要对不同的Deployment使用不同的数据,考虑到多个数据库操作的事物问题,则必须使用Xa-Datasource。下问对keycloak的standalone.xml的配置文件做以下记录,有需要者可参考。

     1 <subsystem xmlns="urn:jboss:domain:datasources:5.0">
     2             <datasources>
     3                 <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
     4                     <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
     5                     <driver>h2</driver>
     6                     <security>
     7                         <user-name>sa</user-name>
     8                         <password>sa</password>
     9                     </security>
    10                 </datasource>
    11                 <xa-datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
    12                     <xa-datasource-property name="ServerName">localhost</xa-datasource-property>  
    13                     <xa-datasource-property name="DatabaseName">keycloak-dev</xa-datasource-property>
    14                     <driver>mysql</driver>
    15                     <security>
    16                         <user-name>root</user-name>
    17                     </security>
    18                 </xa-datasource>
    19                 <xa-datasource jndi-name="java:jboss/datasources/KeycloakExtendSP" pool-name="KeycloakExtendSP" enabled="true" use-java-context="true">
    20                      <xa-datasource-property name="ServerName">localhost</xa-datasource-property>  
    21                     <xa-datasource-property name="DatabaseName">storage-provider-database</xa-datasource-property>
    22                     <driver>mysql</driver>
    23                     <security>
    24                         <user-name>root</user-name>
    25                     </security>
    26                 </xa-datasource>
    27                 <drivers>
    28                     <driver name="mysql" module="org.mysql">
    29                         <xa-datasource-class>org.mariadb.jdbc.MariaDbDataSource</xa-datasource-class>
    30                     </driver>
    31                     <driver name="h2" module="com.h2database.h2">
    32                         <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
    33                     </driver>
    34                 </drivers>
    35             </datasources>
    36         </subsystem>

    做此记录,若要探讨关于keycloak-storage-provider的相关问题,欢迎留言。

    参考链接

    https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/6/html/administration_and_configuration_guide/example_mysql_xa_datasource1
  • 相关阅读:
    在eclipse中快速多行注释的方法
    Android开发:去掉Activity的头部标题栏及全屏显示
    C#的Process类的一些用法
    C#中隐式操作CMD命令行窗口 (转)
    我的INI 配置文件读写动态库
    Android高手进阶教程(五)之----Android 中LayoutInflater的使用!
    Android高手进阶教程(六)之----Android 中MenuInflater的使用(布局定义菜单)!
    Android Menu 之 optionsMenu 详解
    centos安装php扩展
    linux 权限
  • 原文地址:https://www.cnblogs.com/cnxieyang/p/keycloakDatasource.html
Copyright © 2011-2022 走看看