Hello:

I am having a problem with trying to load my database.xml file
into JDO.  I am using castor 0.9.4 with mysql, tomcat, and apache
running on a RedHat Linux server.  I am trying to set up the
JNDI loading of the database using the commons dbcp connection
pool.

I created a database.xml file and put it in the WEB-INF/classes
directory of my web application.  But, when I try to get
the URL to it from the ClassLoader, I get null.

Here is my code:

public class Utils {
  /**
   * Get the database
   */
  public static synchronized JDO getJDO() throws Exception {

      ClassLoader loader = Utils.class.getClassLoader();
      System.err.println( "Loader is: "+loader );
      URL url = loader.getSystemResource("WEB-INF/database.xml");
      System.err.println( "Url is "+url );


JDO.loadConfiguration(Utils.class.getClassLoader().getSystemResource("databa
se.xml").toString());
      InitialContext ctx = new InitialContext();
      return = (JDO) ctx.lookup( "java:comp/env/jdo/videoSearchPPVDb" );
  }
}

When I call this method from a jsp file, I get this output:

Loader is: WebappClassLoader
  available:
    Extension[org.apache.commons.collections, implementationVendor=Apache
Software Foundation, implementationVersion=2.1, specificationVendor=Apache
Software Foundation, specificationVersion=2.1]
    Extension[org.apache.commons.dbcp, implementationVendor=Apache Software
Foundation, implementationVersion=1.0, specificationVendor=Apache Software
Foundation, specificationVersion=1.0]
    Extension[org.apache.commons.pool, implementationVendor=Apache Software
Foundation, implementationVersion=1.0.1, specificationVendor=Apache Software
Foundation, specificationVersion=1.0]
  delegate: false
  repositories:
    /WEB-INF/classes/
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
  delegate: true
  repositories:
    file:/usr/local/jakarta-tomcat-4.0.6/classes/
    file:/usr/local/jakarta-tomcat-4.0.6/lib/jasper-runtime.jar
    file:/usr/local/jakarta-tomcat-4.0.6/lib/naming-factory.jar
    file:/usr/local/jakarta-tomcat-4.0.6/lib/jasper-compiler.jar
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[javax.mail, implementationVendor=Sun Microsystems, Inc.,
implementationVendorId=com.sun, implementationVersion=1.2,
specificationVendor=Sun Microsystems, Inc., specificationVersion=1.2]
  delegate: true
  repositories:
    file:/usr/local/jakarta-tomcat-4.0.6/common/classes/
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/servlet.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/jta-spec1_0_1.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/tyrex-0.9.7.0.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/naming-common.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/xerces.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/jdbc2_0-stdext.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/mail.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/activation.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/naming-resources.jar
    file:/usr/local/jakarta-tomcat-4.0.6/common/lib/jndi.jar
  required:
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@7a78d3
Url is null

You can see that /WEB-INF/classes directory is listed as one of
the classloader's repositories.  Why would it not find the database.xml
file?

Thanks,
        Neil.


--
Neil Aggarwal
JAMM Consulting, Inc.    (972) 612-6056, http://www.JAMMConsulting.com
Custom Internet Development    Websites, Ecommerce, Java, databases

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to