Nach Abschluss der Anweisung sind keine Operationen zulässig

Ich erhalte die Ausnahme mit der UnterschriftNo operations allowed after statement closed. In meinem Java-Code, in dem ich versuche, Werte in die Datenbank einzufügen. Die Fehlersignatur besagt, dass mein Anweisungsobjekt geschlossen wird und ich versuche, es erneut in meinem Code zu verwenden. Was ich jedoch nicht verstehe, ist, warum dies geschieht, da ich keine Verbindungen irgendwo in meinem Code schließe.

Hier ist der Java-Code.

public class DataBaseAccessUtils {

    private static String jdbcUrl = 
            AppConfig.findMap("BXRequestTracker").get("jdbcUrl").toString();
    private static Connection connection = null;
    private static Statement statement = null;

    public static void insertHostname(String hostname, String rid, String fleet, String locale)
    {
        locale.toUpperCase();
        String sql = "UPDATE " + locale + "REQUESTTRACKER SET " + fleet 
                + "='" + hostname + "' WHERE RID='" + rid + "'";
        try {
            statement.execute(sql);
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static Statement connectToDatabase() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection(DataBaseAccessUtils.jdbcUrl);
            statement = connection.createStatement();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return statement;
    }

Außerdem habe ich festgestellt, dass der Fehler nicht auftritt, wenn nur ein Thread ausgeführt wird. Er tritt auf, wenn mehrere Threads gleichzeitig versuchen, die Datenbank zu aktualisieren.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage