Я развернул WSO2ISasKM с WSO2APIM, и я изо всех сил пытаюсь получить правильную конфигурацию.
Я вижу, что в папке ../dbscripts много скриптов. Однако, поскольку я использую только config + management registry и userdb, я создал 2 dbs, в которых я только запустил скрипт wso2is-km-5.7.0 \ dbscripts \ postgresql.sql, который создал таблицы UM_ и REG_. Я веду локальный реестр в WSO2CARBON_DB (H2). Это правильно?
На самом деле я не использую скрипты для IDENTITY и CONSENT, которые поставляются с двоичными файлами wso2IS. Где должны быть запущены эти скрипты?
Я спрашиваю, потому что в моих журналах есть странное поведение и ошибки в содержании.
Вот как я настроил Registry.xml как IS, так и APIM:
<currentDBConfig>wso2registry</currentDBConfig>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
<dbConfig name="wso2registry">
<dataSource>jdbc/WSO2CarbonDB</dataSource>
</dbConfig>
<dbConfig name="sharedregistry">
<dataSource>jdbc/WSO2REG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://fqdn of the IS/APIM:9443/registry">
<id>sharedreg</id>
<cacheId>reg_db_owner@jdbc:postgresql://carbondb.postgresql-wso2.com:5432/wso2_carbon_shared_reg</cacheId>
<dbConfig>sharedregistry</dbConfig>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
<instanceId>sharedreg</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
<mount path="/_system/config" overwrite="true">
<instanceId>sharedreg</instanceId>
<targetPath>/_system/config</targetPath>
</mount>
Вот как источники данных были добавлены в master-datasources.xml
<datasource>
<name>WSO2REG_DB</name>
<description>REGDB ON POSTGRES</description>
<jndiConfig>
<name>jdbc/WSO2REG_DB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:postgresql://carbondb.postgresql-wso2.com:5432/wso2_carbon_shared_reg</url>
<username>wso2</username>
<password>wso2</password>
<defaultAutoCommit>true</defaultAutoCommit>
<driverClassName>org.postgresql.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
Запись UM_DB идентична, но она указывает на другую базу данных.
Я также заметил, что для REG_DB и UM_DB, с Postgresql-11, я должен установить defaultAutocommit
должен быть установлен на true
, чтобы избежать ошибки при записи реестра.
Можете ли вы также объяснить, какова цель таблиц, связанных с IDENTITY и CONSENT? Я читал документы, но не мог понять, как их использовать на практике.
Заранее спасибо.