Github user ctubbsii commented on a diff in the pull request:

    https://github.com/apache/accumulo/pull/236#discussion_r108544154
  
    --- Diff: 
start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java
 ---
    @@ -44,21 +44,21 @@
     
     public class AccumuloClassLoader {
     
    -  public static final String CLASSPATH_PROPERTY_NAME = 
"general.classpaths";
    +  public static final String GENERAL_CLASSPATHS = "general.classpaths";
       public static final String MAVEN_PROJECT_BASEDIR_PROPERTY_NAME = 
"general.maven.project.basedir";
       public static final String DEFAULT_MAVEN_PROJECT_BASEDIR_VALUE = "";
     
    -  private static String SITE_CONF;
    +  private static URL accumuloConfigUrl;
       private static URLClassLoader classloader;
       private static final Logger log = 
LoggerFactory.getLogger(AccumuloClassLoader.class);
     
       static {
    -    String configFile = 
System.getProperty("org.apache.accumulo.config.file", "accumulo-site.xml");
    -    if (System.getenv("ACCUMULO_CONF_DIR") != null) {
    -      // accumulo conf dir should be set
    -      SITE_CONF = System.getenv("ACCUMULO_CONF_DIR") + "/" + configFile;
    +    String configFilename = 
System.getProperty("org.apache.accumulo.config.file", "accumulo-site.xml");
    +    accumuloConfigUrl = 
AccumuloClassLoader.class.getClassLoader().getResource(configFilename);
    +    if (accumuloConfigUrl == null) {
    +      log.warn("Failed to load Accumulo configuration '{}' from 
classpath", configFilename);
    --- End diff --
    
    > Any reason to not make it look like a URI and only accept "file://"?
    
    There's not much difference between a File URI and other registered URI 
schemes. Limiting to just file might be slightly easier if we want to just 
parse the string ourselves in a quick-and-dirty way, rather than use the robust 
built-in support for URIs. I strongly recommend looking at what log4j2 does 
first, before implementing any URI scheme support. The ConfigurationFactory, 
NetUtils, and ConfigurationSource classes are particularly insightful about 
what it takes to properly parse URI schemes in a robust and consistent way.
    
    I don't understand why the desire to pursue this at all, though. What 
additional feature would this actually get you? Any file which can be specified 
with a file URI scheme could be supported by referring to the same file on the 
classpath instead. What am I missing that makes the URI scheme so appealing?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to