我新安装了 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 尝试了相同的场景,但它对我有用。
如果您仍然收到此错误
删除 API 并断开 WiFi 或宽带连接一段时间后尝试。
如果您可以在 CREATED 模式下看到 API。单击 API 并转到生命周期选项卡并将状态更改为已发布。
关于mysql - WSO2 API 管理器无法使用 MySql 创建新的 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37167130/