Programación en castellano
Inicio > Foros > Servidores de Aplicaciones J2EE > DATASOURCE problema
-Foros de debate

Servidores de Aplicaciones J2EE
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

DATASOURCE problema
Enviado por luisbong el día 8 de julio de 2005

Hola, estoy haciendo una aplicacion en tomcat 5 y mysql, y quiero hacer un datasource pero me da 1 error. Aquí pongo el código:
SERVER.XML
<Context path="/Net-Test" docBase="Net-Test" debug="0" reloadable="true" useNaming="true">
<ResourceParams name="jdbc/dsnettest">

<!-- Para la config. de la fuente de datos -->
<parameter>
<name> driverClassName </name>
<value> com.mysql.jdbc.Driver </value>
</parameter>
<parameter>
<name> url </name>
<value> jdbc:mysql://localhost/nettest </value>
</parameter>
<parameter>
<name> username </name>
<value> root </value>
</parameter>
<parameter>
<name> password </name>
<value> 1901 </value>
</parameter>
</ResourceParams>
</Context>
CONTEXT.XML
<Context ...

<ResourceLink global="jdbc/dsnettest" name="jdbc/dsnettest" type="javax.sql.DataSource"/>
...
</Context>

WEB.XML
<servlet>
<servlet-name>IdentificacionServlet</servlet-name>
<servlet-class>IdentificacionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IdentificacionServlet</servlet-name>
<url-pattern>/servlet/IdentificacionServlet</url-pattern>
</servlet-mapping>
<resource-ref>
<res-ref-name> jdbc/dsnettest </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>

EN EL SERVLET

Context init = new InitialContext();
Context context = (Context) init.lookup("java:comp/env");
DataSource ds = (DataSource) context.lookup("jdbc/dsnettest");
conn = ds.getConnection();

Y ME DA EL SIGUIENTE ERROR:

javax.naming.NameNotFoundException: El nombre jdbc no este asociado a este contexto
08-jul-2005 13:46:01 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() para servlet IdentificacionServlet lanzó excepción
java.lang.NullPointerException
at IdentificacionServlet.comprobarBD(IdentificacionServlet.java:101)
at IdentificacionServlet.doPost(IdentificacionServlet.java:83)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

Muchas gracias por todo

 
Re: DATASOURCE problema
Enviado por jordi el día 9 de julio de 2005

Esta linea no seria

DataSource ds = (DataSource) context.lookup("jdbc/dsnettest");

asi

DataSource ds = (DataSource) context.lookup("java:comp/jdbc/dsnettest");

 
Re: Re: DATASOURCE problema
Enviado por luisbong el día 9 de julio de 2005

Hola Jordi, puse lo que me sugieres y me sale ahora este error:
javax.naming.NameNotFoundException: El nombre java:comp no este asociado a este contexto
09-jul-2005 3:22:56 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() para servlet IdentificacionServlet lanzó excepción
java.lang.NullPointerException
at IdentificacionServlet.comprobarBD(IdentificacionServlet.java:101)
at IdentificacionServlet.doPost(IdentificacionServlet.java:83)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

¿sabes a qué se debe?
Muchas gracias

 
Re: Re: Re: DATASOURCE problema
Enviado por jankoesp el día 16 de agosto de 2005

Hola 'luisbong', estoy con el mismo problema, pero con BBDD Oracle, pudiste solucionar este pool de conexiones? En caso afirmativo, como lo hiciste?

Gracias de antemano,

 
Re: Re: Re: Re: DATASOURCE problema
Enviado por ragnar el día 26 de agosto de 2005

Tengo exactamente el mismo problema que comentais (usando tambien mysql), si alguno de vosotros ha conseguido solucionarlo por favor que diga como lo hizo.

Gracias

 
Re: Re: Re: Re: Re: DATASOURCE problema
Enviado por jhos el día 29 de agosto de 2005

Hola a todos hoy 29/08/2005 he logrado hacer que funcione el pool de conexiones y el datasource. Despues de incontables horas

de investigación he llegado a las siguientes conclusiones.

Antes de nada comentar que hace un año segui al pie de la letra el manual de esta web titulado "CREAR TU PRIMERA APLICACION

WEB REAL CON TOMCAT4 Y MYSQL" y me funciono a la primera pero claro usaba el TOMCAT 4. Ahora quiero volver a hacer una

aplicacion con esta tecnologia, pero usando las nuevas versiones y es cuando me ha surgido el problema.

Primero de todo, yo estoy usando:

- TOMCAT 5.5.7
- NETBEANS 4.1
- JDK 1.5 (ó 5 como quiera que se diga ahora).

Tambien lo voy a probar sobre TOMCAT 5.5.9 Si no veis ningun mensaje nuevo es que ha funcionado esta misma solucion.

El problema de pool de conexiones viene debido a la forma de leer los datos de configuracion de la BBDD a la que vamos a

acceder. Lo que hacemos normalmente es poner dichos datos en un fichero .XML y despues con la clase INITIALCONTEXT los

leemos. Pues el fallo esta en el XML.

El error indica algo asi: Cannot create JDBC driver of class '' for connect URL 'null' o que no ha encontrado el contexo de

la apliacion, etc.

Explicare los pasos que he seguido para que podais probarlos por si os falla la solucion final:

1º He ido al fichero ..\Tomcat\conf\server.xml y he añadido dentro de la etiqueta <host></host>:

<Server...>
<Service...>
<Engine...>
<Host...>
<Context path="/LeerFichero" docBase="C:/Programas Java/LeerFichero/build/web" debug="0" reloadable="true">
<Resource name="jdbc/Compuestos" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="jmaestre" password="jmaestre" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/Compuestos?autoReconnect=true"/>
</Context>
</Host>
</Engine>
</Service>
</Server>

SOLO TENEIS QUE COMPIAR EL <CONTEXT>

Despues parais el Tomcat y lo volveis a lanzar y de esta manera el maldito TOMCAT leera el CONTEXT de la aplicacion y

funcionara.

PERO ATENTOS!!! el problema esta en la etiqueta <RESOURCEPARAMS> que aparece en muchas soluciones de la web. NO LA USEIS!!!

Los parametros de la conexion ponerlos dentro de <RESOURCE> como yo lo he hecho. Ya he probado lo otro y no va.

Vale esta es la solucion cutre ya que lo que interesa es que nuesta aplicacion sea independiente de los ficheros del

servidor. Es decir, lo interesante es no tener que tocar el TOMCAT.

2º Paso en nuestro caminar. Una vez que vemos que funciona el paso 1º lo que haremos sera lo siguiente. Comentamos las lineas

añadidas el server.xml (comentarlas por si se borra algo jejeje). Nos vamos al fichero xml de nuestra aplicacion. En mi caso

se llama LeerFichero.xml y en esta version de TOMCAT(5.5.7) esta alamacenado en:

../TOMCAT/conf/CATALINA/localhost/LeerFichero.xml

Abrimos el fichero y añadimos los datos del context en mi caso el fichero contiene solo esto:

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:/Programas Java/LeerFichero/build/web" path="/LeerFichero" debug="1" reloadable="true"

crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_Compuestos_log" suffix=".txt"

timestamp="true"/>

<Resource name="jdbc/Compuestos" auth="Container" type="javax.sql.DataSource"

url="jdbc:mysql://localhost:3306/Compuestos?autoReconnect=true"
driverClassName="org.gjt.mm.mysql.Driver"
username="jmaestre"
password="jmaestre"
maxActive="100"
maxIdle="30"
maxWait="10000"
removeAbandoned="true"
removeAbandonedTimeout="300"
logAbandoned="true"/>
</Context>

La linea LOGGER no es necesaria la podeis quitar y seguira funcionando. Ahora hacemos como antes paramos el Tomcat y lo

volvemos a lanzar, cargara la nueva configuración. Y nuestro contexto funcionara.

El resto de la configuacion lo podeis ver en el manual que antes dije lo unico que cambia es el contenido del fichero de

configuracion de la aplicacion el LeerFichero.xml en mi caso. Recordad de comentar el codigo añadido en el server.xml.

Espero haber ayudado a alguien mas.

 
Re: Re: Re: Re: Re: Re: DATASOURCE problema
Enviado por alejandro el día 7 de marzo de 2006

Grande!!!!! al fin funciono!!!! Gracias.

 

Re: Re: Re: Re: Re: Re: DATASOURCE problema
Enviado por ale el día 7 de marzo de 2006

grande!! Gracias

 
Re: Re: Re: Re: Re: Re: Re: DATASOURCE problema
Enviado por vinacha el día 3 de abril de 2006

Funciona. Muchas gracias. He estado todo el día con lo mismo.

 


Re: DATASOURCE problema URGENTE INDEPENDIZAR EL CONTEXTO
Enviado por borlam el día 4 de abril de 2006

Funciona en el server.xml. Hasta en la web de tomcat viene mal. Estuve dos días con el problema y lo solucioné gracias a este foro.
Me gustaria que posteaseis como añadir un xml propio de la aplicacion para no tener que tocar el server.xml. Gracias

 
Re: Re: DATASOURCE problema URGENTE INDEPENDIZAR EL CONTEXTO
Enviado por tatoflis el día 12 de abril de 2006

El fichero de contexto se debe de añadir en el directorio META-INF de la aplicacion en cuestion. Ahi no hara falta meter la informacion de contexto en la configuracion general del contenedor.

Un saludo.

 
Re: Re: Re: DATASOURCE problema URGENTE INDEPENDIZAR EL CONTEXTO
Enviado por cincocielos el día 13 de abril de 2006

Maldicion, a mi no me jalo =0( puse el archivo debajo de WEB-INF mencionan un META-INF pero donde esta?

 
: Re: DATASOURCE problema URGENTE INDEPENDIZAR EL CONTEXTO
Enviado por Zajito el día 4 de febrero de 2008

yo tampoc veo nada, estoy perdido un poco con lo de los ficheros. Ayuda =(

 










Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados