Pessoal, to usando uma aplicação com Jboss e JNDI para fazer o acesso e o pool à base de dados. Porém estou com um sério problema, pois o JBoss não está liberando as conexões. Esse problema ocorre especificamente num Job do quartz que roda à cada x minutos, ou seja, na grande maioria daz vezes que esse job roda, ele cria um processo de acesso ao banco, e não devolve, fica eterno. Esse job é salvo no banco, ou seja, não é configurado via xml. Como estou fazendo.
postgres-ds.xml
..
<local-tx-datasource>
<jndi-name>PostgresDS</jndi-name>
<connection-url>jdbc:postgresql://localhost:5432/nomeBanco</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>usuario</user-name>
<password>senha</password>
<prepared-statement-cache-size>50</prepared-statement-cache-size>
<min-pool-size>1</min-pool-size>
<max-pool-size>200</max-pool-size>
<max-idle-timeout>0</max-idle-timeout>
<blocking-timeout-millis>30000</blocking-timeout-millis>
<idle-timeout-minutes>2</idle-timeout-minutes>
<track-statements>true</track-statements>
<!-- sql to call when connection is created. Can be anything, select 1 is valid for PostgreSQL
<new-connection-sql>select 1</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool. Can be anything, select 1 is valid for PostgreSQL
<check-valid-connection-sql>select 1</check-valid-connection-sql>
-->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<!--metadata>
<type-mapping>PostgreSQL 7.2</type-mapping>
</metadata-->
</local-tx-datasource>
..
applicationContext.xml
..
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:PostgresDS" />
</bean>
..
Ai no job faço isso
..
ApplicationContext factory = new ClassPathXmlApplicationContext("/WEB-INF/applicationContext.xml");
Service service = (Service)factory.getBean("service");
..
Ja tentei mudar as configurações do datasource, trocar o tipo de “local” para “xa”, procurei bastante coisa na net, mas enfim, não consigo resolver o problema. Alguém tem alguma idéia do que possa ser?
Desde já muito obrigado.