<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hespanha &#187; java jboss XA</title>
	<atom:link href="http://www.hespanha.com.br/blog/tag/java-jboss-xa/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hespanha.com.br/blog</link>
	<description>Apenas um programador que ama o que faz e servo do Senhor Jesus</description>
	<lastBuildDate>Wed, 21 Sep 2011 22:47:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Datasources XA e suas peculiaridades</title>
		<link>http://www.hespanha.com.br/blog/2008/06/datasources-xa-e-suas-peculiaridades/</link>
		<comments>http://www.hespanha.com.br/blog/2008/06/datasources-xa-e-suas-peculiaridades/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 15:50:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[java jboss XA]]></category>

		<guid isPermaLink="false">http://www.hespanha.com.br/blog/?p=3</guid>
		<description><![CDATA[Tivemos uma grande dor de cabeça por causa de um problema com o banco de dados aqui na empresa. Por algum motivo, a equipe de DBAs precisou reiniciar um dos bancos de dados utilizado na nossa aplicação. Após isso, nossa aplicação não conseguiu mais se conectar com o banco de dados. Nosso sistema é uma [...]]]></description>
			<content:encoded><![CDATA[<p>Tivemos uma grande dor de cabeça por causa de um problema com o banco de dados aqui na empresa. Por algum motivo, a equipe de DBAs precisou reiniciar um dos bancos de dados utilizado na nossa aplicação. Após isso, nossa aplicação  não conseguiu mais se conectar com o banco de dados. Nosso sistema é uma aplicação EJB que roda sobre o JBoss, nós usamos o pool de conexões do próprio Jboss e nossos datasources são XA.</p>
<p>Após diversos testes, descobrimos que para que as conexões do pool sejam recuperadas é preciso adicionar o seguinte parâmetro nas configurações do datasource:</p>
<p><code>[sourcecode language='xml']&lt;valid-connection-checker-class-name&gt;org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker&lt;/valid-connection-checker-class-name&gt;</code>[/sourcecode]<br />
Esse parâmetro faz com que antes do pool devolver uma conexão, ele a valida, e se ela estiver inválida, ele descarta essa conexão e cria uma nova. Ao meu ver, isso deveria ser algo feito por &#8220;default&#8221;, mas infelizmente não é.</p>
<p>Esse problema só ocorre se você usa datasources XA. Com datasources &#8220;normais&#8221; nem é preciso adicionar este parâmetro.</p>
<p>Nós aqui da equipe também executamos outros testes como trocar a senha do banco de dados por exemplo, e neste caso, mesmo sem o parâmetro o sistema consegue se recuperar.</p>
<p>Então, pra finalizar, segue a configuração completa de um datasource XA:</p>
<p><code>[sourcecode language='xml']&lt;xa-datasource&gt;<br />
&lt;jndi-name&gt;NameDS&lt;/jndi-name&gt;<br />
&lt;track-connection-by-tx/&gt;<br />
&lt;isSameRM-override-value&gt;false&lt;/isSameRM-override-value&gt;<br />
&lt;xa-datasource-class&gt;oracle.jdbc.xa.client.OracleXADataSource&lt;/xa-datasource-class&gt;<br />
&lt;xa-datasource-property name="URL"&gt;jdbc:oracle:thin:@host:1521:SID&lt;/xa-datasource-property&gt;<br />
&lt;xa-datasource-property name="User"&gt;user&lt;/xa-datasource-property&gt;<br />
&lt;xa-datasource-property name="Password"&gt;password&lt;/xa-datasource-property&gt;             &lt;exception-sorter-class-name&gt;org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter&lt;/exception-sorter-class-name&gt;<br />
&lt;no-tx-separate-pools/&gt;<br />
&lt;max-pool-size&gt;3&lt;/max-pool-size&gt;<br />
&lt;valid-connection-checker-class-name&gt;org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker&lt;/valid-connection-checker-class-name&gt;</code></code></p>
<p></xa-datasource>[/sourcecode]</p>
<p>Espero que essas dicas sejam utéis e possam ajudar a outros também que tiverem esse mesmo problema.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hespanha.com.br/blog/2008/06/datasources-xa-e-suas-peculiaridades/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

