Pool de Conexões

Estou querendo criar um pool de conexões na minha aplicação, ouvi falar do c3po. Algém sabe aonde posso arrumar algum material de como começar a usá-lo?

Você pode encontrar material em:

Dê uma olhada tambem no DBCP:

http://commons.apache.org/dbcp/

Caso você use um servidor de aplicações é mais recomendavel usar a infraestrutura que ele disponibiliza. Que tipo de aplicação é a sua?

A minha aplicação fica dentro do Tomcat, mas esta parte que eu preciso criar as conexões não rodam em servlet nem em jsp, são classes “normais”(j2se). Ai fiquei meio em dúvida de como fazer essas classes serem reconhecidas no tomcat para pegar as conexões, por isso resolvi usar o c3po ou dbcp.

Você pode usar o pool do Tomcat, tem que ver aí como estão essas classes suas… como elas rodam?

Elas ficam como um processo do linux, para rodar eu uso java control.Main…hehehe

quero aproveitar esse topico pra expor o meu problema na criação de um pool de conexões como postgreslq 8.2 no tomcat 6.

esse é o meu context.xml:

<Context path="/App-war">

	<Resource name="jdbc/AppDB" auth="Container"
		type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
		url="jdbc:postgresql://127.0.0.1:5432/appdb?autoReconnect=false" username="postgres"
		password="senha" maxActive="20" maxIdle="10" maxWait="3" />

</Context>

abaixo o meu jsp de teste:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view>
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Insert title here</title>
	</head>
	<body>
		<sql:transaction dataSource="jdbc/AppDB">
			<sql:query var="res">
				SELECT * FROM TB_TESTE
			</sql:query>
		</sql:transaction>
	</body>
	</html>
</f:view>

deixando claro que já coloquei a versão mais recente do driver jdbc para o postgresql no meu %CATALINA_HOME%\lib

Quando executo a aplicação, recebo a seguinte exceção: java.sql.SQLException: No suitable driver found for jdbc/AppDB

E ai pessoal, será que esqueci de algum detalhe? Já criei vários pools com o MySQL e nunca tive esse problema.

Não seria possível colocar estas classes para dentro do tomcat ?
Como por exemplo, usando JSF você poderia criar um bean para esta classe, com escopo APPLICATION. Que no caso dentro da aplicação existiria apenas uma instância da mesma para todas as sessões ou requests.
Usando spring o escopo se não me engano é SINGLETON, que também funciona da mesma maneira.

Acho que desta maneira pode ficar até mais fácil para você gerenciar a app…

[quote=yurimenezes]quero aproveitar esse topico pra expor o meu problema na criação de um pool de conexões como postgreslq 8.2 no tomcat 6.

esse é o meu context.xml:

<Context path="/App-war">

	<Resource name="jdbc/AppDB" auth="Container"
		type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
		url="jdbc:postgresql://127.0.0.1:5432/appdb?autoReconnect=false" username="postgres"
		password="senha" maxActive="20" maxIdle="10" maxWait="3" />

</Context>

abaixo o meu jsp de teste:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view>
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Insert title here</title>
	</head>
	<body>
		<sql:transaction dataSource="jdbc/AppDB">
			<sql:query var="res">
				SELECT * FROM TB_TESTE
			</sql:query>
		</sql:transaction>
	</body>
	</html>
</f:view>

deixando claro que já coloquei a versão mais recente do driver jdbc para o postgresql no meu %CATALINA_HOME%\lib

Quando executo a aplicação, recebo a seguinte exceção: java.sql.SQLException: No suitable driver found for jdbc/AppDB

E ai pessoal, será que esqueci de algum detalhe? Já criei vários pools com o MySQL e nunca tive esse problema.[/quote]

e ai negrada? 8O :roll: :grin: