[JNDI]Não acha contexto

3 respostas
Rafael_Afonso

Olá:

Ontem substituí o Windows 2000 pelo XP em meu trabalho. Reinstalei o J2SDK 1.4.2_03 e o Tomcat 4.1.29. Joguei o diretório da minha aplicação web dentro do [TOMCAT_DIR]/webapps. Antes de começar a usá-la, configurei os data sources na página de Administração. Para ser mais preciso: Fui para “Tomcat Server”->“Service (Tomcat-Standalone)”->“Host (localhost)”->“Context (/informaWEB)”->“Resources”->“Data Sources” e criei o “JNDI Name” chamado “jdbc/Bomi” (que usa um base de dados do MySQL). Configurei exatamente como era antes no Win 2000.
No construtor da classe DAO que chama o Data Source, há as seguintes linhas:

try {
         Context ctx = new InitialContext();
         if(ctx == null )
             throw new Exception("Erro - No Context");

         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/Bomi");
         this.ds = ds;
     }catch(Exception e) {
      e.printStackTrace();
     }

Lembrando que isso era o que fazia antes quando usava o win 2000.
Entretanto agora a classe está disparando uma exceção ao fazer o lookup do contexto:

Isso nunca aconteceu antes! :? Alguém tem a explicação para isso? Sabe como resolver?

Grato,

3 Respostas

M

Ei rafael…tu conseguiu resolver esse problema???
Aqui está acontecendo a mesma coisa quando eutento usar o poo,l de conexões configurado no tomcat…

Luca

Olá

Marcelo, além das versões em uso, mostre como configurou seu server.xml e seu web.xml. E diga ONDE (depois de qual tag) colocou as configurações porque tanto o server.xml como o web.xml exigem uma ordem certa de colocar as coisas.

[]s
Luca

javaEd.com

Olá Luca, estou com um problema parecido e não acho o erro, qual seria essa ordem que vc comentou das tags??

Obrigado

context.xml

<Context>

<Resource name 	= "jdbc/bdteste"	
auth		= "Container"
type 		= "javax.sql.DataSource"
username        = "synap"
password        = "synap"
driverClassName = "com.mysql.jdbc.Driver"
url             = "jdbc:mysql://192.168.0.253:3306/strutsTeste"
maxActive       = "8"
maxIdle         = "4"
/>

</Context>

server.xml

<?xml version='1.0' encoding='utf-8'?>
<Server>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <GlobalNamingResources>
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" 

type="org.apache.catalina.UserDatabase"/>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</value>
      </parameter>
    </ResourceParams>
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" 

maxThreads="150" minSpareThreads="25">
    </Connector>
    <Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
    </Connector>
    <Engine defaultHost="localhost" name="Catalina">
      <Host appBase="webapps" name="localhost">
        <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/><Context 

path="/cadastro" reloadable="true" docBase="C:\eclipse_workspaces\workspace-edson\cadastro" workDir="C:\eclipse_workspaces\workspace-

edson\cadastro\work" >
	<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
</Context>

      </Host>
      <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
    </Engine>
  </Service>
</Server>
Criado 10 de dezembro de 2003
Ultima resposta 8 de set. de 2008
Respostas 3
Participantes 4