Pool preso no jboss, como faço para liberar?

9 respostas
jason_bourne

Pessoal,

Estou tentando usar o pool do jboss usando o datasource dele. E tenho uma rotina para fazer inserts/updates em vários bancos. E essa rotina esta parando na linha depois do PreparedStatment, mas especificamente no stmt.execute() q vai tentar fazer um insert na tabela principal. Eu já procurei me informar e talvez tenha algum problema no pool do jboss ou algum problema no oracle. O meu datasource esta assim:

<?xml version="1.0" encoding="UTF-8"?> 
<datasources> 
  <local-tx-datasource> 
    <jndi-name>OracleDSGD13</jndi-name> 
    <connection-url>jdbc:oracle:thin:@xx.x.x.xx:1521:tb13</connection-url> 
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> 
    <user-name>xxxxx</user-name> 
    <password>xxxxx</password> 
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    <idle-timeout-minutes>5</idle-timeout-minutes>
	<blocking-timeout-millis>90000</blocking-timeout-millis>
	<track-statements>true</track-statements>

	<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
	
	<isSameRM-override-value>false</isSameRM-override-value>
	<track-connection-by-tx/> 
	<no-tx-separate-pools/> 

	
  </local-tx-datasource> 
</datasources>

Alguém pode me ajudar a destravar essa rotina?

9 Respostas

nbluis

Acho mais provável que vc esteja em um lock do banco de dados não ?

jason_bourne

nbluis:
Acho mais provável que vc esteja em um lock do banco de dados não ?

Talvez sim…mas como faria pra tirar o lock? tem alguma forma pelo próprio java ou jboss?

nbluis

Não.
Ou sua tabela está em lock, ou o seu processo está gerando lock.

Tipo com transações paralelas no mesmo processo.

Vc tem um DBA? peça ajuda a ele;
Ou um acesso com usuário “monster moda fucker”, dai a gente consegue um script te mostra os locks.

jason_bourne

nbluis:
Não.
Ou sua tabela está em lock, ou o seu processo está gerando lock.

Tipo com transações paralelas no mesmo processo.

Vc tem um DBA? peça ajuda a ele;
Ou um acesso com usuário “monster moda fucker”, dai a gente consegue um script te mostra os locks.

Mas como faço para evitar isso? preciso testar e restestar essa rotina e as vezes preciso dar um stop nela para modificar alguma coisa e reinicia-la.

nbluis

Cara, tu não pode ter duas transações concorrentes fazendo comandos DML uma dependente da outra sem commits no meio entende ? Pois assim uma tranca a outra.

jason_bourne

Então preciso fazer commit sempre ?

nbluis

Não… não sempre…
Isso é uma situação que tem que ser analisada muito de perto…

Entenda quando o lock acontece (se é que acontece) e depois ache uma solução;

jason_bourne

nbluis:
Não… não sempre…
Isso é uma situação que tem que ser analisada muito de perto…

Entenda quando o lock acontece (se é que acontece) e depois ache uma solução;

ok…vlw

jason_bourne

Agora ta aparecendo essa msg:

Criado 18 de dezembro de 2007
Ultima resposta 18 de dez. de 2007
Respostas 9
Participantes 2