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??)
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.
Sokoban
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?
R
RicardoLuis
Mas você pode criar mais de um pool de conexões no próprio Tomcat…
Acho que foi isso que o Thingol quis dizer.
Sokoban
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!
davidbuzatto
É 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
<Resourcename="NomeDoDataSource"type="javax.sql.DataSource"password="suaSenha"driverClassName="com.mysql.jdbc.Driver"// usa o driver q vc precisamaxIdle="0"// máximo de conexões paradas, 0 = sem limitesmaxWait="5000"// tempo de esperausername="seuNomeDeUsuario"url="jdbc:mysql://localhost/seu banco"// o caminho q vc precisamaxActive="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.
importjava.sql.*;importjavax.naming.*;importjavax.sql.*;...publicstaticConnectiongetConnection()throwsSQLException{try{Contextcontext=newInitialContext();DataSourceds=(DataSource)context.lookup("java:comp/env/NomeDoDataSource");returnds.getConnection();}catch(ClassNotFoundExceptionexc){thrownewSQLException(exc.getMessage()+" não encontrado.");}catch(NamingExceptionexc){thrownewSQLException(exc.getMessage());}}
Falow!
davidbuzatto
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!
Sokoban
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???