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

标签 mysql wso2-api-manager

我新安装了 wso2 api manager v1.10.0。当使用使用 h2 数据库的默认 master-datasources.xml 时,它工作正常。我可以单击“部署示例 API”按钮,然后正确创建 CalculatorAPI 示例。但是,当我更改 master-datasources.xml 以使用 MySql 时,尝试创建示例计算器 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 管理器,它确实在 regdb 和 WSO2AM_DB 下创建了表。

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

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

最佳答案

我使用 wso2 API 管理器 1.10 和 MySQL 尝试了相同的场景,但它对我有用。

如果您仍然收到此错误

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

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

关于mysql - WSO2 API 管理器无法使用 MySql 创建新的 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37167130/

相关文章:

php - 向 Google Cloud PHPMyAdmin 服务器发送 REST 调用不起作用?

wso2 - 更改 wso2 api 管理器的端口

wso2 - DAS IndexOutOfBoundsException异常

wso2 - 为 WSO2 登录添加密码恢复选项

mysql - 只读安装phpmyadmin

mysql - 对内连接行进行分组的查询

mysql - 从连接返回表中的最新行

Mysql查询从A开始计数而不是在B中

api - WSO2 API 管理器集群主动-主动节点

validation - WSO2 API 管理器 "unable to find valid certification path to requested target {org .wso2.carbon.apimgt.hostobjects.APIProviderHostObject}"