AFAIK, relaxAutoCommit=true is applicable to only to MySQL. I'm not sure it will work for PostgreSQL
With relaxAutoCommit=true, we just suppress the exception in MySQL. Ideally we should disable the auto commit from the data source configuration. Try adding <defaultAutoCommit>false</defaultAutoCommit>. I'm not sure about the impact this will have in components other than API Manager. If other components rely on Auto Commit, there will be issues. APIM Team, how should this be handled in with other databases, such as PostgreSQL Docs Team, Important configurations such as defaultAutoCommit are missing in Carbon docs [1]. We need to add all configs, other than the elements we have master-datasources.xml by default. [1] https://docs.wso2.org/display/Carbon420/Configuring+master-datasources.xml On Fri, May 9, 2014 at 5:37 AM, Uvindra Dias Jayasinha <[email protected]>wrote: > This is because auto commit is turned on by default in your installation. > > You need to append "relaxAutoCommit=true" to the end of the DB url in the > master-datasources.xml file. Here is what an example with MySQL would look > like, > > <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>j > dbc:mysql://localhost:3306/WSO2AM_DB?autoReconnect=true& > *relaxAutoCommit=true*</url> > <username>wso2carbon</username> > <password>wso2carbon</password> > > <driverClassName>com.mysql.jdbc.Driver</driverClassName> > <maxActive>50</maxActive> > <maxWait>60000</maxWait> > <testOnBorrow>true</testOnBorrow> > <validationQuery>SELECT 1</validationQuery> > <validationInterval>30000</validationInterval> > </configuration> > </definition> > </datasource> > > Add the same entry to your DB URL > > > > On Fri, May 9, 2014 at 5:49 PM, Shavantha Weerasinghe > <[email protected]>wrote: > >> Hi All >> >> The below exception is thrown when I attempt to create an API on APIM140 >> connected to postgress database >> >> >> >> >> >> [2014-05-09 17:46:15,721] ERROR - ApiMgtDAO Error while adding the API: >> org.wso2.carbon.apimgt.api.model.APIIdentifier@6a10eaec to the database >> org.postgresql.util.PSQLException: Cannot commit when autoCommit is >> enabled. >> at >> org.postgresql.jdbc2.AbstractJdbc2Connection.commit(AbstractJdbc2Connection.java:705) >> at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.wso2.carbon.ndatasource.rdbms.ConnectionRollbackOnReturnInterceptor.invoke(ConnectionRollbackOnReturnInterceptor.java:51) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:71) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:153) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:41) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80) >> at $Proxy13.commit(Unknown Source) >> at >> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.addAPI(ApiMgtDAO.java:3564) >> at >> org.wso2.carbon.apimgt.impl.APIProviderImpl.addAPI(APIProviderImpl.java:372) >> at >> org.wso2.carbon.apimgt.impl.UserAwareAPIProvider.addAPI(UserAwareAPIProvider.java:45) >> at >> org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_addAPI(APIProviderHostObject.java:397) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:160) >> at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:411) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c3._c1(/publisher/modules/api/add.jag:6) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c3.call(/publisher/modules/api/add.jag) >> at >> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2347) >> at >> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:272) >> at >> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:127) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c0._c1(/publisher/modules/api/module.jag:5) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c0.call(/publisher/modules/api/module.jag) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0._c1(/publisher/site/blocks/item-add/ajax/add.jag:70) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:57) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0._c0(/publisher/site/blocks/item-add/ajax/add.jag:4) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401) >> at >> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.exec(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:441) >> at >> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:191) >> at >> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:269) >> at >> org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) >> at >> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:177) >> at >> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:161) >> at >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) >> at >> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >> at java.lang.Thread.run(Thread.java:662) >> [2014-05-09 17:46:15,726] ERROR - APIProviderHostObject Error while >> adding the API- test28-1.0.0 >> org.wso2.carbon.apimgt.api.APIManagementException: Error in adding API >> :test28 >> at >> org.wso2.carbon.apimgt.impl.APIProviderImpl.addAPI(APIProviderImpl.java:374) >> at >> org.wso2.carbon.apimgt.impl.UserAwareAPIProvider.addAPI(UserAwareAPIProvider.java:45) >> at >> org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_addAPI(APIProviderHostObject.java:397) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:160) >> at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:411) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c3._c1(/publisher/modules/api/add.jag:6) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c3.call(/publisher/modules/api/add.jag) >> at >> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2347) >> at >> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:272) >> at >> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:127) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c0._c1(/publisher/modules/api/module.jag:5) >> at >> org.jaggeryjs.rhino.publisher.modules.api.c0.call(/publisher/modules/api/module.jag) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0._c1(/publisher/site/blocks/item-add/ajax/add.jag:70) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:57) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0._c0(/publisher/site/blocks/item-add/ajax/add.jag:4) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401) >> at >> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.exec(/publisher/site/blocks/item-add/ajax/add.jag) >> at >> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:441) >> at >> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:191) >> at >> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:269) >> at >> org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) >> at >> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:177) >> at >> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:161) >> at >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) >> at >> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >> at java.lang.Thread.run(Thread.java:662) >> Caused by: org.wso2.carbon.apimgt.api.APIManagementException: Error while >> adding the API: org.wso2.carbon.apimgt.api.model.APIIdentifier@6a10eaecto >> the database >> at >> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.handleException(ApiMgtDAO.java:3911) >> at >> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.addAPI(ApiMgtDAO.java:3566) >> at >> org.wso2.carbon.apimgt.impl.APIProviderImpl.addAPI(APIProviderImpl.java:372) >> ... 52 more >> Caused by: org.postgresql.util.PSQLException: Cannot commit when >> autoCommit is enabled. >> at >> org.postgresql.jdbc2.AbstractJdbc2Connection.commit(AbstractJdbc2Connection.java:705) >> at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.wso2.carbon.ndatasource.rdbms.ConnectionRollbackOnReturnInterceptor.invoke(ConnectionRollbackOnReturnInterceptor.java:51) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:71) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:153) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:41) >> at >> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) >> at >> org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80) >> at $Proxy13.commit(Unknown Source) >> at >> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.addAPI(ApiMgtDAO.java:3564) >> ... 53 more >> [2014-05-09 17:46:15,729] ERROR - add:jag >> "org.wso2.carbon.apimgt.api.APIManagementException: Error while adding the >> API- test28-1.0.0" >> >> Shavantha Weerasinghe >> Senior Software Engineer QA >> WSO2, Inc. >> lean.enterprise.middleware. >> http://wso2.com >> http://wso2.org >> Tel : 94 11 214 5345 >> Fax :94 11 2145300 >> >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Regards, > Uvindra > > Mobile: 777733962 > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Isuru Perera Senior Software Engineer | WSO2, Inc. | http://wso2.com/ Lean . Enterprise . Middleware about.me/chrishantha
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
