Conexões - Isto é possível?

Boa tarde pessoal!

Gostaria de saber se é possível limitar o número de conexões em uma parte de uma aplicação e supondo que esta aplicação já utilize o pool do tomcat.

Tentarei explicar através de um exemplo:

Vamos supor que tenhamos 50 conexões ao banco disponíveis para um portal. Supondo que tenhamos que limitar a parte de busca - por exemplo - à no máximo 10 conexões, isto é possível utilizando o próprio pool do Tomcat?

Em caso negativo, como isto poderia ser feito?? (eu teria que criar outro pool à parte??)

Espero ter conseguido explicar a situação.
Att,

Sokoban

Acho mais fácil criar um segundo pool e usá-lo na parte da sua aplicação que pode usar no máximo 10 conexões.

Opa, fala thingo!
Bom, o problema é que na verdade eu já estou usando o pool do Tomcat, então eu teria que criar um pool na mão mesmo.

Eu queria que implementar um pool na mão fosse a ùltima opção, mas se nao tiver outro jeito…Ainda tenho a opção de usar o pool do OJB. Será que utilizando ele, aliado ao pool do Tomcat eu consigo isso?

Mas você pode criar mais de um pool de conexões no próprio Tomcat…

Acho que foi isso que o Thingol quis dizer.

Nossa, é mesmo??? Não sabia que isso era possível!
Tem certeza?
Em todos os casos vou dar uma pesquisada para saber…se eu descobrir alguma coisa posto aqui no forum
Abraços!

ps.: Se alguem souber pode postar tambem!

É só entrar na aplicação admin do tomcat (se num tiver ela instalada é só ir no site do tomcat pegar e instalar no tomcat) e configurar os data soures. Caso vc num tenha a aplicação vc pode editar o server.xml e adicionar o seguinte

Dentro de GlobalNamingResources

<Resource name="NomeDoDataSource" type="javax.sql.DataSource" password="suaSenha" driverClassName="com.mysql.jdbc.Driver" // usa o driver q vc precisa maxIdle="0" // máximo de conexões paradas, 0 = sem limites maxWait="5000" // tempo de espera username="seuNomeDeUsuario" url="jdbc:mysql://localhost/seu banco" // o caminho q vc precisa maxActive="0" // máximo de conexões ativas, 0 = sem limites />

Ai para acessar dentro dos jsp’s v mapeia no web.xml esse data source q vc criou. tem que ter o mesmo nome do data source q vc criou.

<resource-ref> <res-ref-name>NomeDoDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref>

Para acessar via código vc pode utilizar

[code]import java.sql.;
import javax.naming.
;
import javax.sql.*;

.
.
.

public static Connection getConnection() throws SQLException {

try {

        Context context = new InitialContext();
        
        DataSource ds = ( DataSource ) context.lookup( 
                "java:comp/env/NomeDoDataSource" );
        
        return ds.getConnection();
        
    } catch ( ClassNotFoundException exc ) {
        
        throw new SQLException( exc.getMessage() + " não encontrado." );
        
        
    } catch ( NamingException exc ) {
        
        throw new SQLException( exc.getMessage() );
        
    }

}[/code]
Falow!

Mais uma coisa, vc precisa adicionar o .jar do driver do banco na pasta common/lib da instalação do seu tomcat.

Vc pode criar quantos data sources vc quiser.

Falow!

Opa!

  Brigadao mesmo! Terei que adaptar algumas coisas, mas deu pra entender.
  Assim que puder eu testo pra saber se os dois pools comportam conforme esperado, cada um com seu respectivo datasource.
  Abraço!

 Sokoban

ps.: Há algum limite de conexões ou datasources que o dbcp do Tomcat consegue adminitrar???