Hibernate + PostgreSQL"连接太多"错误

时间:2015-03-08 11:45:01

标签: java hibernate postgresql connection pool

我是应用程序,它在多个并发会话(超过1000)中使用数据库。 在Postgres中,默认情况下可用的最大连接数设置为100,我无法改变这一点。

Hibernate的最大连接池大小为20,但是应用程序似乎被忽略了这个并抛出了“#34;连接太多"错误。

所以问题是当唯一可用的100个会话时如何处理超过1000个会话? 有这样的队列或smth是可能的吗?

1 个答案:

答案 0 :(得分:2)

  

Hibernate的最大连接池大小为20,但是应用程序似乎被忽略了这个并抛出了“#34;连接太多"错误。

仔细检查您对Hibernate Session Factory的使用:

  • 如果您是网络应用,请阅读[1]
  • 如果您是独立应用,请阅读[2]

问题通常是Hibernate Session的错误使用。

[1] https://developer.jboss.org/wiki/UsingHibernatewithTomcat [2] http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch01.html#tutorial-firstapp-workingpersistence

  

所以问题是如何在唯一的情况下处理超过1000个会话   可用是100?有这样的队列或smth是可能的吗?

100是您可以打开的并发连接,通过这些连接,您可以执行100多个操作:Hibernate只为您管理队列。