WSO2 API管理器无法使用MySql创建新的api

时间:2016-05-11 15:28:49

标签: mysql wso2-am

我新安装了wso2 api manager v1.10.0。使用使用h2数据库的默认master-datasources.xml时,它可以正常工作。我可以点击“部署示例API”'按钮和CalculatorAPI示例正确创建。但是,当我更改master-datasources.xml以使用MySql然后尝试创建示例Calculator API挂起时(UI挂起在"请等待")。 CalculatorAPI已创建但未发布,生命周期无法更改为已发布。我做的唯一改变是master-datasources.xml。

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

我正在使用的MySql的数据源配置是:

<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 regadmin@localhost IDENTIFIED BY "regadmin";
GRANT ALL ON WSO2AM_DB.* TO regadmin@localhost IDENTIFIED BY "regadmin";
FLUSH PRIVILEGES;

我用-Dsetup启动了api manager,它确实在regdb和WSO2AM_DB下创建了表。

MySql jdbc驱动程序位于repository / components / lib / mysql-connector-java-5.1.38.jar。

我检查了所有日志,没有错误。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我尝试使用wso2 API manager 1.10和MySQL一样的场景,但它对我有用。

如果您仍然收到此错误

  1. 删除API并断开您的wifi或宽带连接一段时间然后尝试。

  2. 如果您可以在CREATED模式下看到API。单击API并转到生命周期选项卡,将状态更改为PUBLISHED。