Hola a todos,
  He estado haciendo unas cosillas con tomcat, me baj� los fuentes del 
servidor de apache y todo funcionaba correctamente. He intentado la versi�n 
(inestable) de debian y al ejecutar  la aplicaci�n sale la siguiente 
excepci�n:

javax.naming.NamingException: Cannot create resource instance

Las l�nea que causan el error es la que os se�alo abajo.

        InitialContext init = new InitialContext();
        Context ctx = (Context) init.lookup("java:comp/env");
->      DataSource source = (DataSource)ctx.lookup("jdbc/contenedores");

En el fichero /etc/tomcat4/server.xml dentro del contexto que tiene la 
aplicaci�n tengo definido lo siguiente:

          <Resource name="jdbc/contenedores" auth="Container"
                type="javax.sql.DataSource" />
          <ResourceParams name="jdbc/contenedores" >
                <parameter>
                    <name>driverClassName</name>
                    <value>com.mysql.jdbc.Driver</value>
                </parameter>
                <parameter>
                    <name>url</name>
                    <value>jdbc:mysql://localhost:3306/
contenedores?user=luis</value>
                </parameter>
                <parameter>
                    <name>password</name>
                    <value>1s8b3l1t8</value>
                </parameter>
                <parameter>
                    <name>username</name>
                    <value>luis</value>
                </parameter>
          </ResourceParams>


En el fichero web.xml de la aplicaci�n tengo lo siguiente
    <resource-ref>
      <description>Base de datos de contenedores</description>
      <res-ref-name>jdbc/contenedores</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
      <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>    

Y por si fuera cuesti�n de permisos de java en el directorio /etc/tomcat4/
policy.d he a�adido un fichero 05VazMaCon conteneniedo:

grant codeBase "file:/home/luis/RamonVazquez/VazMaCon/WEB-INF/classes/-" {
  permission java.security.AllPermission;  
};


Por otro lado si accedo directamente a la base de datos 
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conexion = DriverManager.getConnection("jdbc:mysql://localhost
/contenedores?user=luis&password=1s8b3l1t8");                

todo funciona correctamente. Supongo que es algo que le pasa a la 
configuraci�n jndi, pero ya no se por donde mirar.

Gracias de antemano,
        Luis Llana

-- 
Luis Fernando Llana D�az
Si usas Internet Explorer 6 y eres valiente sigue el enlace
http://antares.sip.ucm.es/~luis/ie/aviso.html

Responder a