2013-08-07 59 views
0

我跟着導遊:http://docs.wso2.org/wiki/display/AM140/Multiple+User+Stores 並添加新UserStoreManager,但它發出的異常而不能工作WSO 2 API經理:如何配置多個用戶存儲

[2013-08-07 23:59:33,668] INFO - AgentHolder Agent created ! 
    [2013-08-07 23:59:33,715] INFO - AgentDS Successfully deployed Agent 
    Client [2013-08-07 23:59:37,910] ERROR - DatabaseUtil Table "UM_ROLE" 
    not found; SQL statement: SELECT UM_ID FROM UM_ROLE WHERE 
    UM_ROLE_NAME=? AND UM_TENANT_ID=? [42102-140] 
    org.h2.jdbc.JdbcSQLException: Table "UM_ROLE" not found; SQL 
    statement: SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND 
    UM_TENANT_ID=? [42102-140] at 
    org.h2.message.DbException.getJdbcSQLException(DbException.java:327) 
    at org.h2.message.DbException.get(DbException.java:167) at 
    org.h2.message.DbException.get(DbException.java:144) ... 

========= ================================================== =============

有人知道如何糾正配置嗎?

回答

2

我相信你已經定義了多個JDBC用戶存儲,遵循wiki doc [1]。如果是,那麼在user-mgt.xml的每個UserStoreManager配置中,希望您已經定義瞭如下的datasource屬性。

JDBC/WSO2UM2

你能否證實,將在每個定義的數據庫,你必須填寫用戶管理相關數據庫腳本,以便爲用戶管理功能,可以從找到所需的數據庫表「{AM_Home }/dbscripts「?根據日誌,似乎用戶管理所需的數據庫表尚未填充到一個UserStoreManager配置指向的數據源中。

[1] http://docs.wso2.org/wiki/display/AM140/Multiple+User+Stores

感謝;

+0

我不爲新的用戶存儲運行數據庫腳本。 新的問題是如何填充用戶管理相關的數據庫腳本? – Thomas

+0

首先,您需要在{AM_Home}/repository/conf/datasources文件夾的master-datasources.xml中定義您用作多個JDBC用戶存儲的數據源。然後在你的關係數據庫[在h2/mysql/etc]中創建相應的數據庫,然後填充{AM_Home}/dbscripts中相關的腳本,並將其與新創建的上述數據庫進行比較。 –

+0

好的,在dbscripts下使用h2-1.2.140-wso2v3.jar和h2.sql,我創建了相應的用戶存儲數據庫和表,並正確地啓動了api管理器。 – Thomas

相關問題