配置WSO2 API Manager版本1.5.0以使用SQL Server作为我的数据库时,请执行以下操作: http://docs.wso2.org/display/AM150/Setting+up+with+MS+SQL
对于安装配置文件的第1步,它们会告诉您更新master-datasources.xml文件以匹配其示例。
更新并启动API Manager后,我在日志中收到以下错误: 错误{org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO} - 无法回滚获得用户评级{org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO} java.sql.SQLException:在自动提交模式下不应调用commit()。
答案 0 :(得分:3)
我们尝试了几件事。首先,我们在SQL Server(2008r2)上禁用了自动提交。
这没有帮助,错误仍在继续。在http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
研究jdbc连接之后我发现了一个设置:
<defaultAutoCommit>false</defaultAutoCommit>
master-datasources.xml中的每个数据库定义都需要例如:
<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>
<defaultAutoCommit>false</defaultAutoCommit>
<url>jdbc:jtds:sqlserver://server:port/db_name</url>
<username>user</username>
<password>pwd</password>
<driverClassName>net.sourceforge.jtds.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
WSO2的文档未引用我找到的此设置。当您的产品使用../carbon管理站点时,它可能会正确设置。