Сценарии БД для запуска в WSO2 IS + WSO2 APIM - PullRequest
0 голосов
/ 11 января 2019

Я развернул 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? Я читал документы, но не мог понять, как их использовать на практике.

Заранее спасибо.

1 Ответ

0 голосов
/ 11 января 2019

Если вы используете APIM с IS в качестве KM, вам также необходимо предоставить общий доступ к AM_DB. Скрипт внутри dbscripts/apimgt/. Этот скрипт включает в себя скрипты Identity и Consent. Таким образом, вы можете игнорировать сценарии идентификации и согласия.

Подробнее в: https://docs.wso2.com/display/AM260/Configuring+WSO2+Identity+Server+as+a+Key+Manager

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...