static URL getStorageConfigURL ( ) throws ConfigurationException { String configUrl = System . getProperty ( "cassandra.config" ) ; if ( configUrl == null ) configUrl = DEFAULT_CONFIGURATION ; URL url ; try { url = new URL ( configUrl ) ; url . openStream ( ) . close ( ) ; // catches well-formed but bogus URLs } catch ( Exception e ) { ClassLoader loader = DatabaseDescriptor . class . getClassLoader ( ) ; url = loader . getResource ( configUrl ) ; if ( url == null ) { String required = "file:" + File . separator + File . separator ; if ( ! configUrl . startsWith ( required ) ) throw new ConfigurationException ( "Expecting URI in variable: [cassandra.config]. Please prefix the file with " + required + File . separator + " for local files or " + required + "<server>" + File . separator + " for remote files. Aborting. If you are executing this from an external tool, it needs to set Config.setClientMode(true) to avoid loading configuration." ) ; throw new ConfigurationException ( "Cannot locate " + configUrl + ". If this is a local file, please confirm you've provided " + required + File . separator + " as a URI prefix." ) ; } } return url ; }
Inspect the classpath to find storage configuration file