我們嘗試了幾件事情。首先,我們禁用了SQL Server(2008r2)上的自動提交功能。
這並沒有幫助,錯誤仍在繼續。在研究的JDBC連接後:http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
我發現了一個設置:需要
<defaultAutoCommit>false</defaultAutoCommit>
每個數據庫定義主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管理網站時,它可能會正確設置它。
是的。儘管WSO2文檔沒有提到它,但如果您將MSSQL與WSO2 API Manager一起使用,則必須在連接URL中使用此參數或等效項來避免此問題。 –