I need to use the same datasource simultaneously in three different ListGrids but with different criteria. How do I get separate instances of the same ds?
Announcement
Collapse
No announcement yet.
X
-
I'm getting a SQLException "Cursor state not valid".
I've reported the issue before and the consensus is that it must be a jdbc driver error. I've never been able to reliably recreate the issue, but with this datasource it is easily repeatable. It seems to happen whenever there are more than a page of records available so I thought that somehow having 3 different ListGrids trying to maintain their own page position for the same ds was causing the problem.
It must be something else unique about this ds. I'll keep trying to eliminate possibilities. I'm attaching the full error in case you can tell me what sort of thing to look for. Without having the source code to SQLDataSource I can't tell exactly what it being tried. The jdbc driver is widely used and I've found no other reports of this error so I expect it has something to do with the specific jdbc technique being used.
Code:=== 2010-08-09 10:40:29,465 [l0-0] WARN RequestContext - dsRequest.execute() failed: java.sql.SQLException: Cursor state not valid. at com.ibm.as400.access.JDError.throwSQLException(JDError.java:385) at com.ibm.as400.access.JDError.throwSQLException(JDError.java:362) at com.ibm.as400.access.AS400JDBCResultSet.checkOpen(AS400JDBCResultSet.java:371) at com.ibm.as400.access.AS400JDBCResultSet.getValue(AS400JDBCResultSet.java:3626) at com.ibm.as400.access.AS400JDBCResultSet.getObject(AS400JDBCResultSet.java:3072) at org.apache.commons.dbcp.DelegatingResultSet.getObject(DelegatingResultSet.java:287) at com.isomorphic.sql.SQLTransform.toAttributeMap(SQLTransform.java:83) at com.isomorphic.sql.SQLTransform.toListOfMapsOrBeans(SQLTransform.java:462) at com.isomorphic.sql.SQLTransform.toListOfMapsOrBeans(SQLTransform.java:314) at com.isomorphic.sql.SQLDataSource.executeWindowedSelect(SQLDataSource.java:1571) at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1158) at com.isomorphic.sql.SQLDataSource.execute(SQLDataSource.java:251) at com.islandpacific.gui.server.customDataSource.IpDataSource.execute(IpDataSource.java:152) at com.islandpacific.gui.server.customDataSource.PoHeaderDS.execute(PoHeaderDS.java:190) at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:721) at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658) at com.isomorphic.application.AppBase.execute(AppBase.java:491) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1382) at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:155) at com.islandpacific.gui.server.customDataSource.IpIDACall.handleDSRequest(IpIDACall.java:46) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:106) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at com.islandpacific.gui.security.IpConcurrentSessionFilter.doFilter(IpConcurrentSessionFilter.java:55) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Comment
Comment