Connection Pool

Estou tendo alguns problemas com conexion pool.
Criei uma classe só para conexão ao Banco(Oracle).

Para cada tabela que vou inserir coloquei numa classe Java separada.
Estou fazendo a interface em JSP e estou utilizando Java Beans.

O problema que cada classe minha acessa a classe se conexão, e cada vez que eu acesso a página JSP ele entra nos Beans de cada classes que estou usando .

E cada vez que ele entra na classe ele cria uma nova conexão no banco.

Gostaria de saber como faço pra esta conexão acontecer apenas uma vez, e na hora de entrar nas próximas classes ele deve verificar se a classe de conexão está instânciada e usá-la da memória.

vansol, pq tu não usa o pool gerenciado pelo container? é só tu setar tuas configurações de acesso ao banco num xml, fazer a pesquisa JNDI pelo DataSource, e dar um getConnection(), no momento em q tu der um close(), ele devolve a conexão pro pool do container… ta usando Tomcat?

Estou usando o container da Oracle, OC4J.

Seja mais claro por favor, não entendi muito o que vc falou, estou a pouco tempo programando em Java

Matheus,

Vc pode me dar mais dicas de como configurar o pool de conexões no Tomcat?

Entendi o que deve ser feito, mas preciso de mais detalhes, exemplo do xml, etc…

Obrigado,

respondendo rapido q to atrasado, hehehehe, vansol, nunca usei OC4J… então não sei se tu vai usar JNDI com ele, mas acredito q sim…

ai ta um exemplo do serverl.xml no tomcat, pra um banco Postgres

[code] <Resource name="jdbc/PostgresDS" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/PostgresDS">

	&lt;parameter&gt;&lt;name&gt;factory&lt;/name&gt;&lt;value&gt;org.apache.commons.dbcp.BasicDataSourceFactory&lt;/value&gt;&lt;/parameter&gt;		
	&lt;parameter&gt;&lt;name&gt;driverClassName&lt;/name&gt;&lt;value&gt;org.postgresql.Driver&lt;/value&gt;&lt;/parameter&gt;
	&lt;parameter&gt;&lt;name&gt;url&lt;/name&gt;&lt;value&gt;jdbc&#58;postgresql&#58;//192.168.17.5&#58;5432/CaseEad&lt;/value&gt;&lt;/parameter&gt;
	
	&lt;parameter&gt;&lt;name&gt;username&lt;/name&gt;&lt;value&gt;postgres&lt;/value&gt;&lt;/parameter&gt;
	&lt;parameter&gt;&lt;name&gt;password&lt;/name&gt;&lt;value&gt;postgres&lt;/value&gt;&lt;/parameter&gt;		
	&lt;parameter&gt;&lt;name&gt;maxActive&lt;/name&gt;&lt;value&gt;20&lt;/value&gt;&lt;/parameter&gt;		
	&lt;parameter&gt;&lt;name&gt;maxIdle&lt;/name&gt;&lt;value&gt;10&lt;/value&gt;&lt;/parameter&gt;				
	&lt;parameter&gt;&lt;name&gt;maxWait&lt;/name&gt;&lt;value&gt;100&lt;/value&gt;&lt;/parameter&gt;				
	
&lt;/ResourceParams&gt;

[/code]

coloque isso dentro da tag <GlobalNamingResources>

e tu procura ele assim no codigo:

InitialContext context = new InitialContext&#40;&#41;; Context ctx = &#40;Context&#41; context.lookup&#40;&quot;java&#58;comp/env/&quot;&#41;; dataSource = &#40;javax.sql.DataSource&#41;ctx.lookup&#40;&quot;jdbc/PostgresDS&quot;&#41;;