WSO2 API Manager Mysql инициализация базы данных - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь изменить базу данных углерода H2 (для этого теста) для системы MariaDB.После того, как мой master-datasources.xml и мои базы данных созданы и настроены благодаря предоставленным сценариям, я запускаю API Manager, но он выходит из строя со следующей ошибкой:

ERROR - Activator Cannot start User Manager Core bundle
June 1st 2018, 14:51:07.000 org.wso2.carbon.user.core.UserStoreException: Cannot initialize the realm.
Caused by: org.wso2.carbon.user.core.UserStoreException: nullType class java.lang.reflect.InvocationTargetException
June 1st 2018, 14:51:07.000 Caused by: org.wso2.carbon.user.core.UserStoreException: nullType class java.lang.reflect.InvocationTargetException
Caused by: org.wso2.carbon.user.core.UserStoreException: Error occurred while checking is existing domain : PRIMARY for tenant : -123

Я пытался использовать MariaDB только для углеродабазы данных, используя следующую конфигурацию источника данных:

<datasource>
    <name>WSO2_CARBON_DB</name>
    <description>The datasource used for registry and user manager</description>
    <jndiConfig>
        <name>jdbc/WSO2CarbonDB</name>
    </jndiConfig>
    <definition type="RDBMS">
        <configuration>
    <url>jdbc:mysql://wso2_mysql:3306/wso2_am_carbon;DB_CLOSE_ON_EXIT=FALSE</url>
            <username>wso2carbon</username>
            <password>wso2carbon</password>
    <!--<driverClassName>org.h2.Driver</driverClassName>-->
            <maxActive>50</maxActive>
            <maxWait>60000</maxWait>
            <testOnBorrow>true</testOnBorrow>
            <validationQuery>SELECT 1</validationQuery>
            <validationInterval>30000</validationInterval>
        </configuration>
    </definition>
</datasource>

user-mgt.xml использует правильное имя источника данных:

<Property name="dataSource">jdbc/WSO2CarbonDB</Property>

, и моя база данных была инициализирована с помощью dbscripts / mysql5.Скрипт 7.sql.Права пользователя были установлены правильно.

Поскольку после неудачного запуска база данных остается пустой, я думаю, что возникла проблема с записью в нее.Поэтому я попытался запустить приложение с параметром -Dsetup, но безуспешно.

Спасибо.

1 Ответ

0 голосов
/ 01 июня 2018

При самом первом запуске сервера WSO2 без изменений источника данных он добавит пользователя-администратора в хранилище пользователей по умолчанию.Поэтому, если вы уже создали пользователя-администратора в настроенной AD и этот пользователь определен как пользователь-администратор в конфигурациях IS, IS использует этого пользователя в качестве пользователя-администратора.

Поэтому, когда вы изменяете источник данных основного хранилища пользователейдля сервера WSO2 вам нужно изменить свойство addAdmin на true в файле user-mgt.xml, который находится в каталоге / repository / conf.

<Configuration>
        <AddAdmin>true</AddAdmin>
            <AdminRole>admin</AdminRole>
            <AdminUser>
                <UserName>admin</UserName>
                <Password>admin</Password>
            </AdminUser>
            -
            -
        </Configuration>

Пожалуйста, проверьте после изменения вышеуказанного свойства.

...