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?