Java не может получить соединение JDBC: не может получить тайм-аут ошибки пула соединений в ожидании незанятого объекта - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть веб-приложение, которое должно добавить данные в базу данных, и я должен сделать это для 1000 объектов. Все идет хорошо до 10-й итерации, а затем при входе в метод, который делает постоянное действие, я не могу получить соединение JDBC на линии, которая открывает транзакцию. Я добавлю метод ниже. Кто-нибудь знает, что я должен делать?

@PersistenceUnit(unitName = "current_project")
private EntityManagerFactory entityManagerFactory;

public long persistAccountObject(AccountObject accountObject) {

    long pdAccmAccountManagerId = 0;

    try {
        logger.debug("Start Persisting...");
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        entityManager.getTransaction().begin();
        entityManager.persist(accountObject);
        entityManager.getTransaction().commit();
        // unique ID
        accountId= accountObject.getId();
        logger.debug("Persisting OK...");

    }
    catch (PersistenceException persistenceException) {
        logger.error("PersistenceException occur", persistenceException);
    }
    catch (Exception e) {
        logger.error("Exception occurs", e);
    }

    return accountId;
}

Исключение происходит в строке с entityManager.getTransaction (). Begin () на 10-й итерации каждый раз. До этого я получал объекты, сохраняемые в базе данных.

Я пытался добавить зависимость hibernate-c3p0 в pom и установить некоторые свойства для нее в файле persistence.xml, но еслиЯ делаю это, моя программа блокируется и даже не запускается.

Что мне делать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...