【发布时间】:2013-12-12 03:03:15
【问题描述】:
我正在使用 Tomcat 数据源和休眠
<Resource
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
maxActive="8" maxIdle="8" maxWait="10000"
username="*****"
name="jdbc/sakila" password="*****"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost/sakila"/>
并处于休眠状态
<propertyname="hibernate.connection.datasource">java:comp/env/jdbc/sakila</property>
实施后我面临以下异常
java.util.NoSuchElementException: Timeout waiting for idle object
这个异常发生在晚上,当我睡觉的时候:),当我早上去办公室时,我发现了这个异常。我认为这是tomcat提供的连接池异常?
请更新我!
这个适合用tomcat Data-source with hibernate吗?或者我们应该使用 C3P0 第三方连接轮询?
目前正在寻找tomcate数据源的解决方案
【问题讨论】:
-
您只允许 8 个同时连接到数据库。对于 Web 应用程序来说,这似乎很低。时机也很可疑。你有在半夜运行的任何后台进程吗?你能显示完整的堆栈跟踪吗?
-
@Olaf 半夜只有一个进程一次又一次地运行?一开始我们开始事务,最后我们提交事务并为异常回滚事务:)
You allow only 8 simmultaneous connections to the database它不会自动增加吗? -
在运行该夜间进程时是否失败?如果是这样,它第一次尝试在该进程中建立连接时会失败吗?该进程是否多次尝试建立连接?
-
您能否提供服务器连接器的最大线程数作为与数据库最大数的比较?谢谢,
标签: java hibernate exception tomcat datasource