2

当我尝试创建或编辑应用程序时,API Store 抛出错误

java.sql.SQLException: Can't call commit when autocommit=true

我添加了设置

init-command='set autocommit=0'

到 my.cnf 文件

我还添加了标志:

?relaxAutoCommit=true

连接字符串,但无济于事。我继续收到此错误。

我对 WSO2_CARBON_DB 和 WSO2AM_DB 都使用相同的 mysql 数据库,而且我有一个发布者节点和两个单独的存储节点,它们都指向同一个 mysql 数据源。

我注意到应用程序编辑已保存(或新应用程序已创建),但控制台中仍抛出异常,并且用户界面中出现错误消息(根据此问题顶部的错误)。

在 WSO2 conf 文件中是否有其他设置,我必须对其进行调整才能使其正常工作?

4

2 回答 2

4

autoReconnectrelaxAutoCommit标志添加到文件中定义的“WSO2AM_DB”数据源的 jdbc url master-datasources.xml。这将解决您的问题。

<configuration>

<url>jdbc:mysql://localhost:3306/AM_DB?autoReconnect=true&amp;relaxAutoCommit=true</url>

<username>xxxx</username>

<;password>xxxxx</password>

编辑:我更新了 url 以反映转义 & 符号的正确语法。

于 2012-11-21T07:08:04.277 回答
0

只是为了完整起见,JDBC URL 应该是

jdbc:mysql://localhost:3306/WSO2CARBON_DB?autoReconnect=true&relaxAutoCommit=true

于 2012-12-06T13:02:14.050 回答