Problema de conexões - spring+hibernate

4 respostas
rodpuc

Estou tomando o seguinte erro:

org.postgresql.util.PSQLException: FATAL: connection limit exceeded for non-superusers

Minha aplicação usa spring e hibernate e meu usuário do banco não pode ser um superuser (limitação do servidor, que é compartilhado).
Isso aconteceu enquanto eu testava o sistema e havia outras 2 pessoas testando ele junto.

Alguma idéia do que pode estar causando isso e como solucionar?
Me parece que o spring não está fechando as conexões…

4 Respostas

denislima

falae cara blz?

cara posta o stack trace pra analisarmos melhor…

coloca aqui tbem seu aplicationcontext

fallows…

rodpuc

O stack-trace eu vou ficar devendo por enquanto, eu peguei apenas a linha que descrevi pq li ele todo e a única linha que dizia algo de importante era essa.
Como o erro só acontece de vez enquando, assim que acontecer novamente eu volto e coloco ele.

applicationContext.xml
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="app-pu" />
	</bean>

	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactory" />
	</bean>

	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor">
		<property name="defaultPersistenceUnitName" value="app-pu" />
	</bean>

	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
persistence.xml
<persistence-unit name="app-pu">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        
		<class>... um monte de classes ...</class>
		
		<properties>
			<property name="hibernate.hbm2ddl.auto" value="create" />
			<property name="hibernate.show_sql" value="false" />
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
			<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
			<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/appdb" />
			<property name="hibernate.connection.username" value="[omitted]" />
			<property name="hibernate.connection.password" value="[omitted]" />
		</properties>
</persistence-unit>
denislima

O problema acontece de vez em qdo?

Entao realmente da a entender que excedeu o limite de conexoes que seu banco suporta…

O spring nao deve ta fechando as sua conexoe mesmo… vo pesquisa sobre e qq coisa posto aqui…

fallows

rodpuc

Eu contactei a empresa que faz a hospedagem e eles me informaram que são aceitas até 40 conexões simultâneas ao banco…
Como dito anteriormente, haviam duas pessoas testando o sitema quando o erro aconteceu. Duas pessoas abrindo 40 conexões… é estranho né, suspeito que não esteja fechando, ams não posso afirmar com certeza.

Criado 22 de fevereiro de 2011
Ultima resposta 22 de fev. de 2011
Respostas 4
Participantes 2