Tenho uma aplicação desktop que se conecta diretamente no banco de dados firebird 1.03 usando JDBC. Uso sempre PreparedStatements.
O que acontece é que, aleatoriamente, a conexão é perdida com, por exemplo, a exceção abaixo. Não é somente essa que ocorre. Já ví várias outras, como ArrayIndexOutOfBounds em uns métodos relacionados à PreparedStatement. Descarto problemas com as instruções SQL porque o mesmo código que executa o dia inteiro em momentos aleatórios falha.
No desespero eu fiz uma classe que garante uma conexão por thread, porque quando o erro começou desconfiei de problemas de sincronismo. Não usei o pool do JayBird.
Eis uns dos erros. O interessante é a mensagem ‘…request to rost “”’. Porque o host está vazio nestes casos? Percebam que a origem é diferente nos dois erros.
Obrigado pela atenção.
org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544721. Unable to complete network request to host "".
Reason: Unable to complete network request to host "".
at org.firebirdsql.jdbc.InternalTransactionCoordinator$AutoCommitCoordinator.ensureTransaction(InternalTransactionCoordinator.java:224)
at org.firebirdsql.jdbc.InternalTransactionCoordinator$AutoCommitCoordinator.executionStarted(InternalTransactionCoordinator.java:213)
at org.firebirdsql.jdbc.InternalTransactionCoordinator.executionStarted(InternalTransactionCoordinator.java:38)
at org.firebirdsql.jdbc.AbstractStatement.notifyStatementStarted(AbstractStatement.java:235)
at org.firebirdsql.jdbc.AbstractStatement.notifyStatementStarted(AbstractStatement.java:226)
at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:121)
at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:41)
at sun.reflect.GeneratedConstructorAccessor1.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.firebirdsql.jdbc.FBStatementFactory.createPreparedStatement(FBStatementFactory.java:90)
at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:869)
at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:824)
at org.manfra.sam.conexao.Conexao.preparar(Conexao.java:87)
at org.manfra.sam.negocio.dao.db.CadastroDAO.getCadastros(CadastroDAO.java:223)
at org.manfra.sam.negocio.dao.db.CadastroDAO.pesquisa(CadastroDAO.java:270)
at org.manfra.sam.negocio.model.cadastro.Cadastros.pesquisa(Cadastros.java:43)
at org.manfra.sam.negocio.model.cadastro.Cadastros.pesquisaPorNomeOuNomeFantasia(Cadastros.java:96)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.pesquisar(SelecionaCadastroFrame.java:458)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.edNomeKeyTyped(SelecionaCadastroFrame.java:367)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.access$500(SelecionaCadastroFrame.java:41)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame$3.keyTyped(SelecionaCadastroFrame.java:204)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.getCadastro(SelecionaCadastroFrame.java:497)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.getCadastro(SelecionaCadastroFrame.java:521)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel.pesquisarCadastro(InformacoesPrimariasPanel.java:829)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel.btnClienteActionPerformed(InformacoesPrimariasPanel.java:541)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel.access$400(InformacoesPrimariasPanel.java:47)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel$5.actionPerformed(InformacoesPrimariasPanel.java:215)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at org.manfra.sam.forms.notafiscal.edicao.NotaFiscalFrame.<init>(NotaFiscalFrame.java:137)
at org.manfra.sam.controller.notafiscal.gerenciamento.GerenciamentoNFController.nova(GerenciamentoNFController.java:77)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame.inserir(GerenciaNFFrame.java:440)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame.btInserirActionPerformed(GerenciaNFFrame.java:222)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame.access$600(GerenciaNFFrame.java:36)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame$6.actionPerformed(GerenciaNFFrame.java:126)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
at org.firebirdsql.gds.GDSException: Unable to complete network request to host "".
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscStartTransaction(AbstractJavaGDSImpl.java:737)
at org.firebirdsql.gds.impl.GDSHelper.startTransaction(GDSHelper.java:583)
at org.firebirdsql.jca.FBManagedConnection.findIscTrHandle(FBManagedConnection.java:1006)
at org.firebirdsql.jca.FBManagedConnection.internalStart(FBManagedConnection.java:925)
at org.firebirdsql.jca.FBLocalTransaction.internalBegin(FBLocalTransaction.java:140)
at org.firebirdsql.jca.FBLocalTransaction.begin(FBLocalTransaction.java:112)
at org.firebirdsql.jdbc.InternalTransactionCoordinator$AutoCommitCoordinator.ensureTransaction(InternalTransactionCoordinator.java:222)
at org.firebirdsql.jdbc.InternalTransactionCoordinator$AutoCommitCoordinator.executionStarted(InternalTransactionCoordinator.java:213)
at org.firebirdsql.jdbc.InternalTransactionCoordinator.executionStarted(InternalTransactionCoordinator.java:38)
at org.firebirdsql.jdbc.AbstractStatement.notifyStatementStarted(AbstractStatement.java:235)
at org.firebirdsql.jdbc.AbstractStatement.notifyStatementStarted(AbstractStatement.java:226)
at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:121)
at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:41)
at sun.reflect.GeneratedConstructorAccessor1.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.firebirdsql.jdbc.FBStatementFactory.createPreparedStatement(FBStatementFactory.java:90)
at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:869)
at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:824)
at org.manfra.sam.conexao.Conexao.preparar(Conexao.java:87)
at org.manfra.sam.negocio.dao.db.CadastroDAO.getCadastros(CadastroDAO.java:223)
at org.manfra.sam.negocio.dao.db.CadastroDAO.pesquisa(CadastroDAO.java:270)
at org.manfra.sam.negocio.model.cadastro.Cadastros.pesquisa(Cadastros.java:43)
at org.manfra.sam.negocio.model.cadastro.Cadastros.pesquisaPorNomeOuNomeFantasia(Cadastros.java:96)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.pesquisar(SelecionaCadastroFrame.java:458)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.edNomeKeyTyped(SelecionaCadastroFrame.java:367)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.access$500(SelecionaCadastroFrame.java:41)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame$3.keyTyped(SelecionaCadastroFrame.java:204)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.getCadastro(SelecionaCadastroFrame.java:497)
at org.manfra.sam.forms.cadastro.pesquisa.SelecionaCadastroFrame.getCadastro(SelecionaCadastroFrame.java:521)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel.pesquisarCadastro(InformacoesPrimariasPanel.java:829)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel.btnClienteActionPerformed(InformacoesPrimariasPanel.java:541)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel.access$400(InformacoesPrimariasPanel.java:47)
at org.manfra.sam.forms.notafiscal.edicao.abas.InformacoesPrimariasPanel$5.actionPerformed(InformacoesPrimariasPanel.java:215)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at org.manfra.sam.forms.notafiscal.edicao.NotaFiscalFrame.<init>(NotaFiscalFrame.java:137)
at org.manfra.sam.controller.notafiscal.gerenciamento.GerenciamentoNFController.nova(GerenciamentoNFController.java:77)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame.inserir(GerenciaNFFrame.java:440)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame.btInserirActionPerformed(GerenciaNFFrame.java:222)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame.access$600(GerenciaNFFrame.java:36)
at org.manfra.sam.forms.notafiscal.gerenciamento.GerenciaNFFrame$6.actionPerformed(GerenciaNFFrame.java:126)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)