[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Tomcat 4 y Debian



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



Reply to: