Операции запрещены после закрытия выписки

Я получаю Исключение с подписьюNo operations allowed after statement closed. внутри моего кода Java, где я пытаюсь вставить значения в базу данных. Подпись об ошибке говорит о том, что мой объект Statement закрывается, и я пытаюсь снова использовать его в своем коде, но я пытаюсь понять, почему это происходит, поскольку я не закрываю какие-либо соединения в моем коде.

Вот код Java.

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;
    }

Также я заметил, что ошибка возникает не при однопоточном выполнении, а когда несколько потоков пытаются обновить базу данных одновременно.

Ответы на вопрос(3)

Ваш ответ на вопрос