Java无法获取jdbc连接:无法获得连接池错误超时,以等待空闲对象

我有一个Web应用程序,必须将数据添加到数据库,并且必须对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;
}

每次在第10次迭代时,在EntityManager.getTransaction()。begin()的行上都会发生异常。在此之前,我将对象保留在数据库中。

我尝试在pom中添加hibernate-c3p0依赖项,并在persistence.xml中为其设置一些属性,但是如果这样做,我的程序将被阻塞甚至无法开始运行

我该怎么办?

ad3344 回答:Java无法获取jdbc连接:无法获得连接池错误超时,以等待空闲对象

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3167568.html

大家都在问