Java Fehlermeldung
Geizhals » Forum » Programmierung » Java Fehlermeldung (10 Beiträge, 147 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Java Fehlermeldung
12.03.2009, 08:15:31
Also vorweg einmal ... der Code ist in modifizierter Art und Weise auch schon als Timertask funktionsfähig, jedoch mache ich das ganze in einem Thread da ich den in unterschiedlichen Intervallen aufrufen muss (mit sleep Befehl und dann mit this.run(); )

Der Fehler tritt nach einigen Stunden auf....

Die Fehlermeldung:
Exception in thread "Thread-4" java.lang.StackOverflowError
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:426)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DB.news_info(DB.java:1824)
at BroadcastServer2$news_info_bot.run(BroadcastServer2.java:279)
at BroadcastServer2$news_info_bot.run(BroadcastServer2.java:420)
at BroadcastServer2$news_info_bot.run(BroadcastServer2.java:420)
at BroadcastServer2$news_info_bot.run(BroadcastServer2.java:420)


at DB.news_info(DB.java:1824)..... betrifft->>
conn = DriverManager.getConnection( this.url, this.strDbUser, this.strDbPw );

Hier der Code:
public Vector news_info() throws SQLException
{
Connection conn = null;
        Statement stmt = null;
        ResultSet rSet = null;
        int retryCount = this.reConnect;
        boolean transactionCompleted = false;
        boolean okay = false;
        
Vector tmp = new Vector();
do{
try
{
conn = DriverManager.getConnection( this.url, this.strDbUser, this.strDbPw );
     stmt = conn.createStatement();
     String sqlQuery = "SELECT id,objekt,antwort FROM `news` WHERE zeige = 1";
    
     rSet = stmt.executeQuery( sqlQuery );
     while ( rSet.next() )
     {
     okay = true;
     tmp.add(rSet.getString(1));
     tmp.add(rSet.getString(2));
     tmp.add(rSet.getString(3));
     }
    
     if(okay){
     stmt.executeUpdate("UPDATE `news` SET `gezeigt` = '0' WHERE `news`.`id` ="+ tmp.elementAt(0).toString()+ " LIMIT 1 ;");
     }
    
     rSet.close();
    rSet = null;

        stmt.close();
        stmt = null;

        conn.close();
        conn = null;

        transactionCompleted = true;

} catch(Exception e) {
System.out.println("Fehler bei den news");
tmp.add("1");
     tmp.add("-- kein objekt --");
     tmp.add("keine news");
     return tmp;

    
    }finally {
        if (rSet != null) {
            try {
             rSet.close();
            } catch (SQLException sqlEx) {
             sql_log("67",true,sqlEx);
            }
        }

        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException sqlEx) {
             sql_log("68",true,sqlEx);
            }
        }

        if (conn != null) {
            try {
                

                try {
                    conn.rollback();
                } finally {
                    conn.close();
                }
            } catch (SQLException sqlEx) {
                
                throw sqlEx;
            }
        }
    }
} while (!transactionCompleted && (retryCount > 0));

if(!okay){
     tmp.add("1");
     tmp.add("-- kein objekt --");
     tmp.add("keine news");
}
return tmp;
}


Antworten PM Übersicht Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung