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!
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
publicclassDbcp{privatestaticDbcpinstance=null;privateDataSourceds;privateConnectioncon;privateStringdriver;privateStringurl;privateStringlogin;privateStringpassword;privateintmaxConnections;privatelongmaxWait;/** Creates a new instance of Dbpc */publicDbcp(){Propertiesprops=newProperties();try{InputStreamfis=this.getClass().getClassLoader().getResourceAsStream("db.properties");props.load(fis);fis.close();}catch(FileNotFoundExceptionf){System.out.println("FilenotfoundinDbcp-->constructor."+f.getMessage());f.printStackTrace();}catch(IOExceptionioex){System.out.println("ErrorI/OinDbpc-->constructor."+ioex.getMessage());ioex.printStackTrace();}catch(Exceptione){System.out.println("ErrorinDbpc-->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=(newInteger(props.getProperty("maxConnections"))).intValue();maxWait=(newLong(props.getProperty("maxWait"))).longValue();ds=setupDataSource();}publicstaticDbcpgetInstance(){if(instance==null){instance=newDbcp();}returninstance;}publicConnectiongetConn()throwsSQLException{returnds.getConnection();}privateDataSourcesetupDataSource(){BasicDataSourceds=newBasicDataSource();ds.setDriverClassName(driver);ds.setUsername(login);ds.setPassword(password);ds.setUrl(url);ds.setMaxActive(maxConnections);ds.setMaxWait(maxWait);ds.setDefaultAutoCommit(false);returnds;}publicvoidprintDataSourceStats()throwsSQLException{BasicDataSourcebds=(BasicDataSource)ds;System.out.println("NumActive:"+bds.getNumActive());System.out.println("NumIdle:"+bds.getNumIdle());}/*shutdown DataSource*/publicvoidshutdown()throwsSQLException{BasicDataSourcebds=(BasicDataSource)ds;bds.close();}}
W
WWatermannPJ
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
GleidstanPJ
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
WWatermannPJ
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
GleidstanPJ
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
GleidstanPJ
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
GleidstanPJ
Achei o .jar! hehe!
Mas a dúvida do .properties continua… quem puder me ajudar…