java.sql.SQLException: Io exception: Broken pipe wiederherstellen ohne neu zu starten?
In meiner Anwendung verwende ich Verbindung zu Oracle, wenn die Verbindung verloren geht und ich versuche neu zu verbinden, die ich erhalten Ausnahme:
java.sql.SQLException: Io exception: Broken pipe
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:273)
at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:540)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:264)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:196)
Wiederherstellen, die ich brauche, um neu zu starten der Anwendung, macht es möglich wiederherstellen ohne neu zu starten?
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anhängerschaft werden konnte, werden die Möglichkeiten, die verursachen könnten die Ausnahme:
Netzwerk-problem: Das ist das Netzwerk zwischen der Datenbank und application-server verursacht die physikalische Verbindung unterbrochen wurde, nach einem Zeitraum von Zeit. Es ist wahrscheinlich durch eine firewall laufen, die hinter dem Netzwerk, das konfiguriert ist, um zu töten db-verbindungen nach einer bestimmten Zeit. Sie können prüfen, einen workaround zu pflegen, die Verbindung am Leben all der Zeit einfach durch eine re-Konfiguration der application server. Für Tomcat, können Sie versuchen, hinzufügen
validationQuery="select 'validationQuery' from dua
l in der Tomcat-datasource-conf-Datei (context.xml)Verbindungen zu den Datenbank-server werden zurückgesetzt und der Kunde wird nicht benachrichtigt, die von der Datenbank-Treiber. Das problem in diesem Fall ist, dass der Oracle-Treiber ist die Entdeckung, dass die Hülse auf das DBMS irgendwie (firewall wieder, vielleicht?) geschlossen wurde, die durch das andere Ende. Sie können prüfen, Ihre Einstellung connection timeout (in den pool), die kürzer als die Netzwerk - /DB-server-timeout als eine Lösung.