tenho um aplicativo que usando firebird e tenho duas consultas:
consulta1:
nesta consulta eu pego um resultset de uma tabela de produtos
consulta2
nesta consulta eu pego um resultet de uma tabela de clientes
as duas consultas utilizam a mesma conexão
Se eu executar as consultas separadas funcionam normalmente. porem, como as duas consultas eu dou um connection.commit; se as duas estiverem executando ao mesmo tempo numa thread
a primeira que terminar logo após dar o connection.commit a outra consulta termina com uma exception:
Exception in thread “Thread-3” java.lang.NullPointerException
at org.firebirdsql.gds.impl.wire.isc_stmt_handle_impl.addRow(isc_stmt_handle_impl.java:196)
at org.firebirdsql.gds.impl.wire.XdrInputStream.readSQLData(XdrInputStream.java:159)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscDsqlFetch(AbstractJavaGDSImpl.java:1377)
at org.firebirdsql.gds.impl.GDSHelper.fetch(GDSHelper.java:265)
at org.firebirdsql.jdbc.FBStatementFetcher.fetch(FBStatementFetcher.java:201)
at org.firebirdsql.jdbc.FBStatementFetcher.next(FBStatementFetcher.java:137)
at org.firebirdsql.jdbc.AbstractResultSet.next(AbstractResultSet.java:261)
depois de muito procurar descobri que o connectioin.commit esta fechando o cursor da outra
pesquisa. Como resolver isso?