Ich habe eher ein einfaches Portlet, in dem die Anzahl der Besucher des Portals angezeigt wird (online, täglich, wöchentlich, monatlich, jährlich). < /p>
In der Portlet -Klasse in Doview -Methode rufe ich zunächst eine Methode auf, die einen Einsatz in die Tabelle ausführt (Informationen zu einem neuen Besucher). Nachdem ich 5 Methoden nacheinander angerufen habe, die in derselben Tabelle eine Zählung ausführen. Sie sind alle ziemlich ähnlich, nur ihre Fragen unterscheiden sich. Eine der Methoden -Implementierung ist Folgendes: < /p>
public static Integer getOnline() {
Integer res = null;
Statement stmt = null;
ResultSet rs = null;
try {
stmt = getConnection().createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
res = new Integer(rs.getString("1"));
}
} catch (SQLException e) {
log.error("Excepton: " + e);
} finally {
if (rs != null) {
try { rs.close(); } catch (SQLException e) { log.warn("Error closing result set: ", e); }
rs = null;
}
if (stmt != null) {
try { stmt.close(); } catch (SQLException e) { log.warn("Error closing statement: ", e); }
stmt = null;
}
}
return res;
}
< /code>
Die Verbindung wird erhalten: < /p>
public static Connection getConnection() {
try {
if (connection == null) {
if (dataSource == null) {
dataSource = (DataSource) new InitialContext().lookup(dataSourceName);
}
connection = dataSource.getConnection();
}
} catch (Exception e) {
log.error("Error on opening a connection: ", e);
}
return connection;
}
< /code>
Die Verbindung ist am Ende der Doview -Methode geschlossen. Gelegentlich bekomme ich diese Ausnahme: < /p>
com.ibm.db2.jcc.am.SqlException: [jcc][t4][10120][10898][4.14.88] Invalid operation: result set is closed. ERRORCODE=-4470, SQLSTATE=null
< /code>
Aus einem oder wenigen der Methoden, die auswählen. Auch die folgenden Fehler manchmal: < /p>
com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Connection is closed.
com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.
< /code>
Nachdem ich im Internet gesucht habe, habe ich immer noch nicht festgestellt, wie es die Ursache für einen Fehler in meinem Fall ist und wie ich es beheben kann. Jede Hilfe wäre geschätzt.
Com.ibm.db2.jcc.am.sqlexception: Ungültiger Vorgang: Die Ergebnismenge ist geschlossen. ERRORCODE = -4470, SQLSTATE = NU ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post