private void init(Configuration conf) throws ClassNotFoundException { cache = new HashMap<String, URIHandler>(); String[] classes = ConfigurationService.getStrings(conf, URI_HANDLERS); for (String classname : classes) { Class<?> clazz = Class.forName(classname.trim()); URIHandler uriHandler = (URIHandler) ReflectionUtils.newInstance(clazz, null); uriHandler.init(conf); for (String scheme : uriHandler.getSupportedSchemes()) { cache.put(scheme, uriHandler); } } Class<?> defaultClass = conf.getClass(URI_HANDLER_DEFAULT, null); defaultHandler = (defaultClass == null) ? new FSURIHandler() : (URIHandler) ReflectionUtils.newInstance(defaultClass, null); defaultHandler.init(conf); for (String scheme : defaultHandler.getSupportedSchemes()) { cache.put(scheme, defaultHandler); } initLauncherClassesToShip(); initLauncherURIHandlerConf(); LOG.info("Loaded urihandlers {0}", Arrays.toString(classes)); LOG.info("Loaded default urihandler {0}", defaultHandler.getClass().getName()); }