我正在尝试为mariadb系统更改碳h2数据库(用于此测试)。一旦使用提供的脚本创建和配置了master-datasources.xml和数据库,我就会启动api管理器,但它失败并出现以下错误:
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仅用于carbon数据库,使用以下数据源配置:
<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条答案
按热度按时间kq4fsx7k1#
在第一次启动wso2服务器时,如果不更改数据源,它将向默认的userstore添加一个管理用户。因此,如果您已经在配置的ad中创建了admin用户,并且该用户在is配置中定义为admin用户,则使用该用户作为admin用户。
因此,当您更改wso2服务器的主userstore的数据源时,需要更改
addAdmin
属性在user-mgt.xml文件中为true,该文件位于/repository/conf目录下。请在更改上述属性后进行检查。