Pool de conexÕes + jsp + mysql

5 respostas
M

Olá!

Estou tentando configurar um pool de conexões na minha aplicação JSP, juntamente com o TomCat 5.5
Já coloquei os JARs necessários no lib do TomCat e criei a classe de conexão, porém, não estou conseguindo efetuar a conexão com o BD.
O que está faltando para conectar? Como fica o código dentro da aplicação?
Alguém tem alguma dica?
Valeuu

5 Respostas

C

Coloque o código para analisarmos…

M

Ok! vamos lah.
1- No diretório C:\Tomcat\conf\Catalina\localhost eu tenho o arquivo tcc.xml, no qual eu inclui as seguintes informações para configurar o pool (dentro da tag <Context>), onde “multimeios” é o nome do meu BD.

<!-- Implementacao do connection pool para banco de dados -->
<Resource name=“jdbc/multimeios” auth=“Container” type=“javax.sql.DataSource” scope="Shareable"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive=“300” maxIdle=“10” maxWait="100"
username=“root” password="admin"
driverClassName="com.mysql.jdbc.Driver"
url=“jdbc:mysql://localhost:3306/multimeios?autoReconnect=true” />

2- Coloquei na pasta lib os JARs, entre eles o driver do MySQL: mysql-connector-java-3.1.13-bin.jar

3- Então criei a classe de conexão com o seguinte código:

import java.sql.Connection;

import java.sql.SQLException;

import javax.sql.DataSource;

import javax.naming.NamingException;

import javax.naming.InitialContext;

_/**

  • @

  • Classe para criar um data source no connection pool e abrir e fechar conexao
    
    */
    
    public class ConnectorDB {
    
    private Connection conexao;
    
    protected static DataSource dataSource;
    
    public ConnectorDB() throws Exception {
    
    if (dataSource == null) {
    
    try {
    
    InitialContext ic = new InitialContext();
    
    // tomcat
    
    dataSource = (DataSource) ic.lookup(“java:comp/env/jdbc/multimeios);
    
    } catch (NamingException ex) {
    
    throw ex;
    
    }
    
    }
    

    }

    public Connection getConnection() throws SQLException {
    
    conexao =  null;
    
    try {
    
    conexao = dataSource.getConnection();
    
    } catch (SQLException e) {
    
    throw e;
    
    }
    
    return conexao;
    

    }

    public void closeConnection (Connection conn) {
    
    if (conn != null) {
    
    try {
    
    conn.close();
    
    } catch (SQLException e) {}
    
    }
    
    }
    
    }
    

Mas essa classe de conexão eu não tenho certeza se precisa ser um arquivo .class ou um .java e também não sei onde devo salvá-la…

4- E finalmente tenho o código para utiliza o pool na minha aplicação:

Connection con;

// instancia classe de conexao com o banco
    try {
        db = new ConnectorDB();
    } catch (Exception e) {
       // erro ao carregar contexto
        return;
    }

    // obtem a conexao do pool de conexoes
    try {
        con = db.getConnection();
    } catch (SQLException e) {
       // erro ao conectar no banco de dados
        return;
    }

    // para fechar a conexao
   db.closeConnection(con);

Mas esse código eu não sei exatamente em que parte devo inserir da minha aplicação .JSP…

Muuuiiitttoooo obrigada pela ajuda, estou precisando muito que essa conexão de certo.

Valter_Henrique

Aqui explica direitinho meu velho.

http://dev.mysql.com/tech-resources/articles/connection_pooling_with_connectorj.html

Hebert_Coelho

Olá mariana_carvalhoPJ , da próxima vez coloque seu código entre tags . Vai ajudar a visualizar melhor.

Você conseguiu? Está tento alguma msg de erro?

S

certo!

Criado 18 de julho de 2006
Ultima resposta 28 de jan. de 2011
Respostas 5
Participantes 5