You might try this. It allows you to put the property file in the same directory, and therefore the same package, as your class. You can also jar this and it will still find it, while makes deployment easier. Even though the filename in this case is Connection.properties, you don't need to include the suffix. If you do, it won't find it.
Just plug the call for this method in a try/catch block, and you should be good to go! 8)
 
 private void loadParams() throws IOException {
     // Loads a ResourceBundle and creates Properties from it
     Properties databaseProperties = new Properties();
     ResourceBundle bundle;
     bundle = ResourceBundle.getBundle("com.performance.Connection");
     Enumeration dbPropEnum = bundle.getKeys();
     String key = null;
     while(dbPropEnum.hasMoreElements()) {
      key = (String)dbPropEnum.nextElement();
      databaseProperties.put(key, bundle.getObject(key));
     }
     // Load the properties file to get the connection information
     m_databaseType = (String)databaseProperties.get("DatabaseType");
     m_hostPort = new Integer((String)databaseProperties.get("Port")).intValue();
 }

Jim

Richard Gregory <[EMAIL PROTECTED]> wrote:
Hi,

I have a web service which needs to read a property from a configuration
file, but I can't work out where in the webapp to put the configuration
file so the web service implmentation class can read it. I've tried
putting it in WEB-INF/c lasses, in the root directory of the web app, in
WEB-INF, in the same directory as the class which reads it, and in
pretty much every other directory you can think of, but I keep getting a
FileNotFoundException.

If I hard code the full path to the file (C:/..... on Windows or
/home/richard...... on Linux) in my service it can find and read it, but
this isn't really an option as the service will be deployed on different
machines by different customers so the path will vary.

If anyone can give me some suggestions I'd be grateful.

Thanks,

Richard.

Reply via email to