java - 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 中为其设置一些属性,但如果我这样做,我的程序会被阻止并且甚至无法开始运行。
我应该怎么办?
解决方案
推荐阅读
- python - 如何使用python查找线段的长度
- amazon-web-services - AWS Cognito 用户池和 OpenId
- ionic-framework - fcm 离子自定义声音
- ftp - Prestashop 网址更改
- powerquery - Power Query 删除重复的子字符串
- laravel - Laravel 5.6:如何发送电子邮件,客户端会将它们显示为线程/对话?
- postgresql - Postgresql - 为可重新运行的插入脚本动态生成不存在的条件
- scala - 从列表中搜索数据框并添加列以说明是否找到
- python - 使用 webhook 向 Google Hangouts Chat bot 发送简单消息
- python - Python - 检查键是否存在于包含大量子字典的字典中