2016-05-11 46 views
0

我有一個新的安裝Wso2 API管理器v1.10.0。當使用使用h2數據庫的默認master-datasources.xml時,它工作正常。我可以點擊'Deploy Sample API'按鈕,並且CalculatorAPI示例被正確創建。但是,當我將master-datasources.xml更改爲使用MySql時,則嘗試創建示例Calculator API掛起(該UI在「Please Wait」處掛起)。 CalculatorAPI已創建但未發佈,且生命週期不能更改爲已發佈。我做的唯一更改是master-datasources.xml。WSO2 API管理器無法使用MySql創建新的API

MySql和wso2AM在Ubuntu Linux上本地安裝。

MySQL的數據源CONFIGS我使用的是:

<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://localhost:3306/regdb</url> 
      <username>regadmin</username> 
      <password>regadmin</password> 
      <driverClassName>com.mysql.jdbc.Driver</driverClassName> 
      <maxActive>80</maxActive> 
      <maxWait>60000</maxWait> 
      <minIdle>5</minIdle> 
      <testOnBorrow>true</testOnBorrow> 
      <validationQuery>SELECT 1</validationQuery> 
      <validationInterval>30000</validationInterval> 
      </configuration> 
     </definition> 
    </datasource> 

    <datasource> 
     <name>WSO2AM_DB</name> 
     <description>The datasource used for API Manager database</description> 
     <jndiConfig> 
      <name>jdbc/WSO2AM_DB</name> 
     </jndiConfig> 
     <definition type="RDBMS"> 
      <configuration> 
       <url>jdbc:mysql://localhost:3306/WSO2AM_DB</url> 
       <username>regadmin</username> 
       <password>regadmin</password> 
       <driverClassName>com.mysql.jdbc.Driver</driverClassName> 
     <maxActive>80</maxActive> 
     <maxWait>60000</maxWait> 
     <minIdle>5</minIdle> 
     <testOnBorrow>true</testOnBorrow> 
     <validationQuery>SELECT 1</validationQuery> 
     <validationInterval>30000</validationInterval> 
      </configuration> 
     </definition> 
    </datasource> 

我跑在MySQL中下列命令申請權限:

GRANT ALL ON regdb.* TO [email protected] IDENTIFIED BY "regadmin"; 
GRANT ALL ON WSO2AM_DB.* TO [email protected] IDENTIFIED BY "regadmin"; 
FLUSH PRIVILEGES; 

我開始API經理-Dsetup和它做在regdb和WSO2AM_DB下創建表。

MySql jdbc驅動程序位於repository/components/lib/mysql-connector-java-5.1.38.jar中。

我檢查了所有的日誌,沒有錯誤。任何幫助將不勝感激。

+0

我也使用MySQL的URL嘗試的mysql://本地主機:3306/WSO2CARBON_DB autoReconnect的= TRUE &了relaxAutoCommit =真,它並沒有區別。 –

+0

你的mysql版本是什麼? –

+0

MySql版本是:服務器版本:5.5.49-0ubuntu0.14.04.1(Ubuntu) –

回答

0

我嘗試使用wso2 API管理器1.10與MySQL相同的情況,但它適用於我。

如果您仍然收到此錯誤

  1. 刪除API和斷開無線網絡或寬帶連接了一段時間,並嘗試。

  2. 如果您可以在CREATED模式下看到API。點擊API並轉到生命週期選項卡並將狀態更改爲PUBLISHED。 JDBC:

+0

那麼,我從我的網絡斷開連接,並再次嘗試,現在它工作。爲什麼?很奇怪。無論如何,感謝您的幫助。順便說一句,當它沒有工作的API被創建。但是,在「生命週期」選項卡中,「發佈」按鈕處於非活動狀態,並且單擊它完全沒有任何作用。 –

+0

好。我們正在調查網絡問題。現在作爲一個解決方法,用你的apimanager.xml文件中的localhost替換$ {carbon.local.ip}。 –