gpt4 book ai didi

hibernate - 超出非 super 用户的 PostgreSQL 连接限制

转载 作者:行者123 更新时间:2023-11-29 11:25:17 25 4
gpt4 key购买 nike

我正在使用 spring 应用程序,但出现以下异常:

Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection.

当我手动尝试使用 DBVisualizer 连接到数据库时出现以下错误

An error occurred while establishing the connection:

Long Message:
FATAL: connection limit exceeded for non-superusers

Details:
   Type: org.postgresql.util.PSQLException
   Error Code: 0
   SQL State: 53300

这是我的 spring-context.xml 文件

<jee:jndi-lookup id="dataSource1" jndi-name="jdbc/PmdDS"/>


<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource1" />
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="current_session_context_class">thread</prop>
<prop key="cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>

</props>
</property>
</bean>

我的问题是我收到此错误是因为我没有在 spring-context.xml 中添加以下行

 <prop key="hibernate.connection.release_mode">auto</prop>

添加这一行将解决我的问题。我担心我的应用程序正在创建连接但没有释放数据库连接,因为我没有在 spring-context.xml 中添加上面的行。注意我没有使用 HibernateTemplate 。我正在使用 sessionFactory.getCurrentSession().createQuery("").list() 来触发我的查询我的 Context.xml 详细信息

<Context>
Specify a JDBC datasource
<Resource name="jdbc/PmdDS"
auth="Container"
type="javax.sql.DataSource"
username="sdfsfsf"
password="sfsdfsdf" maxActive="-1"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://111.11.11.11:5432/test"/>


</Context>

请提出任何解决方案

最佳答案

问题出在数据源的配置上

最大连接数的默认值高于 postgres 中设置的最大连接数,当 hibernate 请求另一个连接时,数据源会尝试创建一个连接。

你能显示你的数据源的配置吗?

关于hibernate - 超出非 super 用户的 PostgreSQL 连接限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9498001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com