Pool de conexões - Tomcat através de META-INF/context.xml

2 respostas
K

Olá moçada!
Já procurei aqui, e em outros tópicos também, mas, não consegui esclarecer essa questão… Como faço um pool de conexões, no tomcat, através do arquivo META-INF/context.xml?

Estou quase lá, mas, com o seguinte problema (Exception):

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

Eis as minhas configurações:

  1. Coloquei o “resource”, do banco mysql, dentro da tag “GlobalNamingResources”, no server.xml:
<GlobalNamingResources>
   ...
<Resource
      auth="Container"
      description="DataSource para fornecer o Pool de Conexoes"
      name="jdbc/StrutsDemoDS"
      type="javax.sql.DataSource"
      password="teste"
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="10"
      maxWait="4000"
      username="teste"
      url="jdbc:mysql://localhost/strutsdemo"
      maxActive="30"/>
   ...
</GlobalNamingResources>
  1. Criei o arquivo “META-INF/context.xml”, no diretório da minha app, com o conteúdo:
<context path="cadastro" 
		debug="1"
		reloadable="true"
		docBase="${catalina.home}/server/webapps/cadastro">
	<ResourceLink global="jdbc/StrutsDemoDS"
				   name="jdbc/StrutsDemoDS"
				   type="javax.sql.Datasource"/>
</context>
  1. Implantei a app, porém, na hora de realizar o “lookup”, dá a exception acima…

ATENÇÃO - Informação importante: Sem mudar absolutamente nada, quando crio um <ResourceLink> pelo Tomcat-AdministrationTool, o mesmo código roda perfeitamente.

Aguém tem alguma idéia a respeito?

PS: onde o tomcat coloca essa referência criada pelo Administration Tool?

Obrigado pela atenção!
Kallás.

2 Respostas

S

kallas achei esse artigo, ve se ele te ajuda em algo.

http://www.javafree.org/news/view.jf?idNew=2851

K

Opa, olá SdRuboW!
É um bom artigo, mas, já fiz isso!

Há várias maneiras de se realizar um pool de conexões. Essa que você indicou é uma delas, e eu já a utilizei e deu certo. Porém, o que desejo é fazer um pool através da alternativa do META-INF/context.xml.
Assim, dessa forma, não seria preciso alterar o server.xml toda vez que uma app necessitar ser implantada. Ou seja, o pool de conexões será um só para todas as apps, e a app “do momento” (que vai ser implantada) cria seu próprio contexto no META-INF/context.xml e aponta o <ResourceLink> para o pool já registrado no server.xml.

De qualquer forma, obrigado pela indicação! O link fica registrado, mas, ainda continua a dúvida!

Abraço!
Kallás

Criado 25 de junho de 2008
Ultima resposta 26 de jun. de 2008
Respostas 2
Participantes 2