- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否 hibernate SessionFactory.openSession()
等待池中的数据库连接可用?
我认为它确实如此,但我有这个异常(exception)的客户
org.hibernate.exception.GenericJDBCException: Could not open connection
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:235)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:171)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:162)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1471)
at com.jthink.songlayer.hibernate.HibernateUtil.beginTransaction(HibernateUtil.java:192)
at com.jthink.songkong.analyse.analyser.MusicBrainzSongMatcher.call(MusicBrainzSongMatcher.java:83)
at com.jthink.songkong.analyse.analyser.MusicBrainzSongMatcher.call(MusicBrainzSongMatcher.java:35)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.jthink.songkong.analyse.analyser.MainAnalyserService$EnsureIncreaseCountIfRunOnCallingThread.rejectedExecution(MainAnalyserService.java:100)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at com.jthink.songkong.analyse.analyser.MainAnalyserService.submit(MainAnalyserService.java:121)
at com.jthink.songkong.analyse.analyser.MusicBrainzMetadataMatcher.processMetadataFailedToMatch(MusicBrainzMetadataMatcher.java:107)
at com.jthink.songkong.analyse.analyser.MusicBrainzMetadataMatcher.call(MusicBrainzMetadataMatcher.java:381)
at com.jthink.songkong.analyse.analyser.MusicBrainzMetadataMatcher.call(MusicBrainzMetadataMatcher.java:34)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:689)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
at org.hibernate.c3p0.internal.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:90)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:228)
... 20 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1418)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:606)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:526)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:755)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:682)
config.setProperty("hibernate.c3p0.min_size","1");
config.setProperty("hibernate.c3p0.max_size","50");
config.setProperty("hibernate.c3p0.max_statements","3000");
config.setProperty("hibernate.c3p0.timeout","2000");
config.setProperty("hibernate.c3p0.maxStatementsPerConnection","50");
config.setProperty("hibernate.c3p0.idle_test_period","3000");
config.setProperty("hibernate.c3p0.acquireRetryAttempts","10");
最佳答案
hibernate session 工厂 openSession() 方法总是打开一个新 session 。完成所有数据库操作后,您应该关闭此 session 对象。
session 对象不是线程安全的,你应该在多线程环境中为每个请求打开一个新的 session
基于此引用
https://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/SessionFactory.html#openSession()
Session openSession() throws HibernateException Open a Session. JDBC connection(s will be obtained from the configured ConnectionProvider as needed to perform requested work.
Returns: The created session. Throws: HibernateException - Indicates a peroblem opening the session; pretty rare here.
关于java - hibernate SessionFactory.openSession() 是否等待池中的数据库连接可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899387/
过去几天我一直在 Hibernate 和 MySQL 上练习,我遇到了这个错误,表明我在 setUpSession.java 中的 sessionFactory 变量上有一个 NullPointerE
我已经配置了 NHibernate,并使用 Fluent NNibernate 连接到 PostgreSQL 数据库。 我有一个工作类,它采用 ISessionFactory 作为构造函数参数并使用队
我正在尝试使用 generic-dao ( http://code.google.com/p/hibernate-generic-dao/ )。但是,在我的 HibernateBaseDAO 中,ge
是否 hibernate SessionFactory.openSession()等待池中的数据库连接可用? 我认为它确实如此,但我有这个异常(exception)的客户 org.hibernate.
我有一个简单的 Java Web 应用程序,它从数据库接收一些信息并在 Web 浏览器中显示该信息。 Hibernate 用于与 servlet 和 jsp 文件中的数据库进行交互。一切都如我所愿,但
这个问题在这里已经有了答案: Hibernate openSession() vs getCurrentSession() (5 个答案) 关闭 6 年前。 OpenSession() 总是打开一个
您好,我已经使用 hibernate 配置了带有事务管理器的 sessionFactory 和 MysqL 数据源。当我尝试在 openSession() 之后立即对该工厂调用 getCurrentS
这是我的代码: hibernate .cfg.xml com.mysql.jdbc.Driver jdbc:mysql://localhost:3306
我是 N hibernate 的新手。我在我的应用程序中使用 n hibernate 。我编写的代码运行成功但有点慢,因为当我检查 hibernate 分析器时,它向我展示了进程缓慢的一些原因。“每个
我正在使用 Spring Hibernate 开发 Web 应用程序。在那里,我在 DAO 类中有一个方法。 当我通过 jsp 文件调用它时,它运行良好。但是当我通过 servlet 调用它时,它给出
我正在尝试对 Mozilla 进行 Web 扩展,它将使用 pkcs11 来签名、加密或验证文档、邮件。 我正在使用此 api 与我的开斋节卡片进行通信并从中获取插槽。 https://develop
我有一个问题,当我在服务器上运行时,我的 sessionFactory.openSession() 返回 null。在本地机器上一切都很好,但我不知道服务器上的问题是什么。 (我什至在关闭 iptab
我的类路径中有 hibernate3.jar 和 hibernate-core-4.2.0.CR1.jar,并且我使用的是 Spring 3.1.3 版本。代码编译成功,但在运行时出现以下错误 201
这个问题与另一个question有关我已经问过了,但是您为什么要使用 openSession() 而不是 getCurrentSession() 的原因是什么?我知道您会使用 openSession(
我正在使用 SessionFactory.openSession(Connection) 获取现有的 JDBC 连接。现在在 4.0 中此方法不可用。我应该使用哪种方法? 最佳答案 您可以使用 Ses
我想知道上面提到的 hibernates sessionfactory 类的两种方法之间的概念差异,如果可以通过简单的例子。 最佳答案 前者打开一个正常(有状态) session ,而后者(可能不足为
如果我在结束时用 Session.getCurrentTransaction().commit() 关闭 session 或用 session.close() 关闭 session 会发生什么方法?
我正在尝试将 Spring 3.1 与 Hibernate 4.1.4 集成,但从通用 DAO 获取 session 时遇到问题。 问题是,如果我使用 getCurrentSession() ,我会得
当我配置 hibernate 以连接到数据库并且由于某种原因连接失败时,我注意到它在构建工厂(这是可以接受的)和我调用 sessionFactory.openSession()(这是不太能接受)。更烦
我编写了一个示例 Spring Hibernate 应用程序以了解 Spring Hibernate 集成的工作原理。 这是我的 applicationContext.xml
我是一名优秀的程序员,十分优秀!