Websphere e DBCP

7 respostas
G

Olá pessoal! Esse é meu primeiro post aqui, estrei agora pro PortalJava, estou achando muito bom, cehio de conteúdo interessante!

Gostaria que vocês pudessem me ajudar em algo…
Tenho que usar Connection Pool na aplicação da empresa, e é provavel que seja o DBCP. Mas estou tendo dúvidas de como farei isso no Websphere.

Se possível disponibilizar algum exemplo, agradeço!

Abraços,

7 Respostas

W
Tem como vc fazer o pool no próprio código java sem a necessidade do servidor, tenho um exemplo que peguei aqui no proprio portal lah vai o codigo
public class Dbcp { 
private static Dbcp instance = null; 
private DataSource ds; 
private Connection con; 
private String driver; 
private String url; 
private String login; 
private String password; 
private int maxConnections; 
private long maxWait; 

/** Creates a new instance of Dbpc */ 
public Dbcp() { 
	Properties props = new Properties(); 
	try { 
		InputStream fis = this.getClass().getClassLoader().getResourceAsStream("db.properties"); 
		props.load(fis); 
		fis.close(); 
	} 
	catch(FileNotFoundException f) { 
		System.out.println("File not found in Dbcp --> constructor." + f.getMessage()); 
		f.printStackTrace(); 
	} 
	catch(IOException ioex){ 
		System.out.println("Error I/O in Dbpc --> constructor." + ioex.getMessage()); 
		ioex.printStackTrace(); 
	} 
	catch(Exception e) { 
		System.out.println("Error in Dbpc --> constructor." + e.getMessage()); 
		e.printStackTrace(); 
	} 

	//recuperando configuracoes de acesso ao db 
	driver = props.getProperty("driver"); 
	url = props.getProperty("url"); 
	login = props.getProperty("login"); 
	password = props.getProperty("password"); 
	maxConnections = (new Integer(props.getProperty("maxConnections"))).intValue(); 
	maxWait = (new Long(props.getProperty("maxWait"))).longValue(); 
	ds = setupDataSource(); 
} 

public static Dbcp getInstance() { 
	if(instance == null) { 
		instance = new Dbcp(); 
	} 
	return instance; 
} 

public Connection getConn() throws SQLException { 
	return ds.getConnection(); 
} 

private DataSource setupDataSource() { 
	BasicDataSource ds = new BasicDataSource(); 
	ds.setDriverClassName(driver); 
	ds.setUsername(login); 

	ds.setPassword(password); 
	ds.setUrl(url); 
	ds.setMaxActive(maxConnections); 
	ds.setMaxWait(maxWait); 
	ds.setDefaultAutoCommit(false); 
	return ds; 
} 

public void printDataSourceStats() throws SQLException { 
	BasicDataSource bds = (BasicDataSource) ds; 
	System.out.println("NumActive: " + bds.getNumActive()); 
	System.out.println("NumIdle: " + bds.getNumIdle()); 
} 

/*shutdown DataSource*/ 
public void shutdown() throws SQLException { 
	BasicDataSource bds = (BasicDataSource) ds; 
	bds.close(); 
	} 
}
W

Agora vai o arquivo .properties que é necessário para indicar o driver a senha etc.

driver = oracle.jdbc.driver.OracleDriver ---> driver do banco url = jdbc:oracle:thin:@localhost:1521:test ---> endereço da base de dados login = alguma coisa password = alguma coisa maxConnections = 20 maxWait = -1

Espero ter ajudado, qualquer duvida poste-a no portal.

G

WWatermann, valeu pela ajuda! Mas ainda tenho algumas dúvidas…
vc está usando o DBCP da Jakarta? E outra coisa… perdão pela ignorância, mas o que é exatamente esse arquivo .properties???

Abração,
Gleidson

W

Sim o .jar common dbcp é do projeto jakarta, mas agora que vem a dúvida se esse .jar não é apenas para o tomcat, pois eu nao testei ele ainda em algum outro container a não ser o tomcat. Não sei se irá funcionar.
E o arquivo .properties é um arquivo muito usado para configuração neste caso ele se enquadra na configuracao entre o sistema e o banco de dados, vc pode trocar o banco de dados sem ter que fazer alterações em seu sistema, apenas alterar o arquivo .properties de acordo com o banco que vc irá utilizar.

G

Wwatermann, e aonde eu coloco esse arquivo .properties? (No bom sentido! rs rs)

E não funciona só no TomCat… também funciona no Websphere!

Abraços,

G

Outra coisa, cara… eu não to achando o .jar no site da Jakarta! Pode me ajudar nisso também?!

Valeu, cara! Mó help vc tá me dando!!

Tankx,
Gleidson

G

Achei o .jar! hehe!

Mas a dúvida do .properties continua… quem puder me ajudar…

Criado 16 de fevereiro de 2005
Ultima resposta 17 de fev. de 2005
Respostas 7
Participantes 2