Hello again:

Searching a little bit more I've founded the solution to my problem.
Relying reading of the properties file to a PropertiesManager class with a
method like:

    static {
        try {
            Class propertiesManagerClass = PropertiesManager.class;
            ClassLoader classLoader =
propertiesManagerClass.getClassLoader();
            InputStream inputStream =
                classLoader.getResourceAsStream(PROPERTIES_FILE);

            properties = new Properties();
            properties.load(inputStream);
            inputStream.close();
        } catch (Exception e) {
            System.err.println("Error loading properties from file "
                               + PROPERTIES_FILE + ": "+ e);
            e.printStackTrace();
        }
    }

everything works fine.  My question now is, why?  and, where can I get some
information about Tomcat and the IO files?  I realized that Tomcat writes
my database log file to "/etc/init.d/"  (where the tomcat startup script
is)  I guess that with my previos implementation Tomcat searched for the
"bd.properties" file in that same directory.  Why Tomcat behaves like
this?  How can I control the exact location of my IO files?

Thanks a lot,

        Quique

Enrique Marcote Peña wrote:

> Hi:
>
> I have Tomcat 3.2.2 running over Debian Potato and I'm trying to install
> a simple JSP application with database access.
>
> I've got a connection pool that works fine when I run it directly with
> java. In the root of my classes directory I have a couple of files, a
> log file called "ServidorConexiones.log" and the properties file
> "bd.properties".
>
> classes/ServidorConexiones.log
> classes/bd.properties.log
> classes/com/ishop/sql/ServidorConexiones.class
> classes/com/ishop/sql/PoolConexiones.class
>
> The source file for the Connection manager is
>
> sources/com/ishop/sql/ServidorConexiones.java
>
> And reads the bd.properties with these sentences...
>
> public class ServidorConexiones {
>
>     /**
>      * <p>Nombre del fichero de propiedades empleado para la definición
> de los
>      * pools.
>      */
>     static private String properties = "bd.properties";
>
> ...MORE CODE HERE...
>
>     /**
>      * <p>Constructor privado que inicializa el servidor y todos sus
> pools
>      * asociados.  Definiendo el constructor como privado se garantiza
> el
>      * comportamiento Singleton de la clase.  Las demás clases deberán
>      * acceder a la instacia del servidor a través del método
>      * <code>getInstance</code>.
>      */
>     private ServidorConexiones() {
>         Properties prop = new Properties();
>         try {
>             prop.load(new FileInputStream(properties));
>         } catch (Exception e) {
>             System.err.println("Error opening " +  properties + " file:
> " + e);
>             return;
>         }
>
> ...CONTINUES...
>
> As I said before, when I run my test applications from de classes
> directory directly with java it works fine.  Then, for testing with JSP,
> I copy the classes directory to:
>
> jakarta-home/webbapps/isHOP/WEB-INF
>
> After restarting Tomcat, my JSP test application fail opening the
> bd.properties file:
>
> Error opening bd.properties file: java.io.FileNotFoundException:
> bd.properties (No such file or directory)
>
> What should I do to make this file available for Tomcat?
>
> Any help will be greatly appreciated.  Thanks,
>
>         Quique

Reply via email to