當前位置: 首頁>>代碼示例>>Java>>正文


Java ServiceConfigurationError類代碼示例

本文整理匯總了Java中java.util.ServiceConfigurationError的典型用法代碼示例。如果您正苦於以下問題:Java ServiceConfigurationError類的具體用法?Java ServiceConfigurationError怎麽用?Java ServiceConfigurationError使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


ServiceConfigurationError類屬於java.util包,在下文中一共展示了ServiceConfigurationError類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: loadFileSystems

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static void loadFileSystems() {
  synchronized (FileSystem.class) {
    if (!FILE_SYSTEMS_LOADED) {
      ServiceLoader<FileSystem> serviceLoader = ServiceLoader.load(FileSystem.class);
      Iterator<FileSystem> it = serviceLoader.iterator();
      while (it.hasNext()) {
        FileSystem fs = null;
        try {
          fs = it.next();
          try {
            SERVICE_FILE_SYSTEMS.put(fs.getScheme(), fs.getClass());
          } catch (Exception e) {
            LOG.warn("Cannot load: " + fs + " from " +
                ClassUtil.findContainingJar(fs.getClass()), e);
          }
        } catch (ServiceConfigurationError ee) {
          LOG.warn("Cannot load filesystem", ee);
        }
      }
      FILE_SYSTEMS_LOADED = true;
    }
  }
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:24,代碼來源:FileSystem.java

示例2: findLoader

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private LuaFunction findLoader(String modName) {
  try {
    for (T service : serviceLoader) {
      if (matches(modName, service)) {
        LuaFunction loader = getLoader(service);
        if (loader != null) {
          return loader;
        }
      }
    }
  } catch (ServiceConfigurationError error) {
    // TODO: maybe we should just let the VM crash?
    throw new LuaRuntimeException(error);
  }

  // not found
  return null;
}
 
開發者ID:kroepke,項目名稱:luna,代碼行數:19,代碼來源:ModuleLib.java

示例3: testIssue154

import java.util.ServiceConfigurationError; //導入依賴的package包/類
/**
 * Tests issue #TRUEZIP-154.
 * 
 * @see    <a href="http://java.net/jira/browse/TRUEZIP-154">ServiceConfigurationError: Unknown file system scheme for path without a extension</a>
 */
@Test
public void testIssue154() {
    for (String param : new String[] {
        "mok:file:/foo!/",
        "mok:mok:file:/foo!/bar!/",
    }) {
        FsNodePath path = FsNodePath.create(URI.create(param));
        try {
            assertIssue154(new TFile(path));
            assertIssue154(new TFile(path.getUri()));
        } catch (ServiceConfigurationError error) {
            throw new AssertionError(param, error);
        }
    }
}
 
開發者ID:christian-schlichtherle,項目名稱:truevfs,代碼行數:21,代碼來源:TFileTest.java

示例4: reload

import java.util.ServiceConfigurationError; //導入依賴的package包/類
/** 
 * Reloads the internal SPI list from the given {@link ClassLoader}.
 * Changes to the service list are visible after the method ends, all
 * iterators ({@link #iterator()},...) stay consistent. 
 * 
 * <p><b>NOTE:</b> Only new service providers are added, existing ones are
 * never removed or replaced.
 * 
 * <p><em>This method is expensive and should only be called for discovery
 * of new service providers on the given classpath/classloader!</em>
 */
public synchronized void reload(ClassLoader classloader) {
  final LinkedHashMap<String,S> services = new LinkedHashMap<>(this.services);
  final SPIClassIterator<S> loader = SPIClassIterator.get(clazz, classloader);
  while (loader.hasNext()) {
    final Class<? extends S> c = loader.next();
    try {
      final S service = c.newInstance();
      final String name = service.getName();
      // only add the first one for each name, later services will be ignored
      // this allows to place services before others in classpath to make 
      // them used instead of others
      if (!services.containsKey(name)) {
        checkServiceName(name);
        services.put(name, service);
      }
    } catch (Exception e) {
      throw new ServiceConfigurationError("Cannot instantiate SPI class: " + c.getName(), e);
    }
  }
  this.services = Collections.unmodifiableMap(services);
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:33,代碼來源:NamedSPILoader.java

示例5: loadViaServiceLoader

import java.util.ServiceConfigurationError; //導入依賴的package包/類
/**
 * Use the ServiceLoader mechanism to load  the default RowSetFactory
 * @return default RowSetFactory Implementation
 */
static private RowSetFactory loadViaServiceLoader() throws SQLException {
    RowSetFactory theFactory = null;
    try {
        trace("***in loadViaServiceLoader():");
        for (RowSetFactory factory : ServiceLoader.load(javax.sql.rowset.RowSetFactory.class)) {
            trace(" Loading done by the java.util.ServiceLoader :" + factory.getClass().getName());
            theFactory = factory;
            break;
        }
    } catch (ServiceConfigurationError e) {
        throw new SQLException(
                "RowSetFactory: Error locating RowSetFactory using Service "
                + "Loader API: " + e, e);
    }
    return theFactory;

}
 
開發者ID:madHEYsia,項目名稱:ClassroomFlipkart,代碼行數:22,代碼來源:RowSetProvider.java

示例6: loadProviderAsService

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static boolean loadProviderAsService() {

        ServiceLoader<SelectorProvider> sl =
            ServiceLoader.load(SelectorProvider.class,
                               ClassLoader.getSystemClassLoader());
        Iterator<SelectorProvider> i = sl.iterator();
        for (;;) {
            try {
                if (!i.hasNext())
                    return false;
                provider = i.next();
                return true;
            } catch (ServiceConfigurationError sce) {
                if (sce.getCause() instanceof SecurityException) {
                    // Ignore the security exception, try the next provider
                    continue;
                }
                throw sce;
            }
        }
    }
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:22,代碼來源:SelectorProvider.java

示例7: loadProviderAsService

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static AsynchronousChannelProvider loadProviderAsService() {
    ServiceLoader<AsynchronousChannelProvider> sl =
        ServiceLoader.load(AsynchronousChannelProvider.class,
                           ClassLoader.getSystemClassLoader());
    Iterator<AsynchronousChannelProvider> i = sl.iterator();
    for (;;) {
        try {
            return (i.hasNext()) ? i.next() : null;
        } catch (ServiceConfigurationError sce) {
            if (sce.getCause() instanceof SecurityException) {
                // Ignore the security exception, try the next provider
                continue;
            }
            throw sce;
        }
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:18,代碼來源:AsynchronousChannelProvider.java

示例8: loadProviderFromProperty

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static boolean loadProviderFromProperty() {
    String cm = System.getProperty("sun.net.ftpClientProvider");
    if (cm == null) {
        return false;
    }
    try {
        Class<?> c = Class.forName(cm, true, null);
        provider = (FtpClientProvider) c.newInstance();
        return true;
    } catch (ClassNotFoundException |
             IllegalAccessException |
             InstantiationException |
             SecurityException x) {
        throw new ServiceConfigurationError(x.toString());
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:17,代碼來源:FtpClientProvider.java

示例9: loadProviderFromProperty

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static boolean loadProviderFromProperty() {
    String cn = System.getProperty("com.sun.net.httpserver.HttpServerProvider");
    if (cn == null)
        return false;
    try {
        Class<?> c = Class.forName(cn, true,
                                   ClassLoader.getSystemClassLoader());
        provider = (HttpServerProvider)c.newInstance();
        return true;
    } catch (ClassNotFoundException |
             IllegalAccessException |
             InstantiationException |
             SecurityException x) {
        throw new ServiceConfigurationError(null, x);
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:17,代碼來源:HttpServerProvider.java

示例10: loadProviderAsService

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static boolean loadProviderAsService() {
    Iterator<HttpServerProvider> i =
        ServiceLoader.load(HttpServerProvider.class,
                           ClassLoader.getSystemClassLoader())
            .iterator();
    for (;;) {
        try {
            if (!i.hasNext())
                return false;
            provider = i.next();
            return true;
        } catch (ServiceConfigurationError sce) {
            if (sce.getCause() instanceof SecurityException) {
                // Ignore the security exception, try the next provider
                continue;
            }
            throw sce;
        }
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:21,代碼來源:HttpServerProvider.java

示例11: findServiceProvider

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static <T> T findServiceProvider(final Class<T> type)
        throws DatatypeConfigurationException
{
    try {
        return AccessController.doPrivileged(new PrivilegedAction<T>() {
            public T run() {
                final ServiceLoader<T> serviceLoader = ServiceLoader.load(type);
                final Iterator<T> iterator = serviceLoader.iterator();
                if (iterator.hasNext()) {
                    return iterator.next();
                } else {
                    return null;
                }
            }
        });
    } catch(ServiceConfigurationError e) {
        final DatatypeConfigurationException error =
                new DatatypeConfigurationException(
                    "Provider for " + type + " cannot be found", e);
        throw error;
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:23,代碼來源:FactoryFinder.java

示例12: loadProviderFromProperty

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static boolean loadProviderFromProperty() {
    String cm = System.getProperty("sun.net.ftpClientProvider");
    if (cm == null) {
        return false;
    }
    try {
        @SuppressWarnings("deprecation")
        Object o = Class.forName(cm, true, null).newInstance();
        provider = (FtpClientProvider)o;
        return true;
    } catch (ClassNotFoundException |
             IllegalAccessException |
             InstantiationException |
             SecurityException x) {
        throw new ServiceConfigurationError(x.toString());
    }
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:18,代碼來源:FtpClientProvider.java

示例13: loadProviderFromProperty

import java.util.ServiceConfigurationError; //導入依賴的package包/類
private static boolean loadProviderFromProperty() {
    String cn = System.getProperty("com.sun.net.httpserver.HttpServerProvider");
    if (cn == null)
        return false;
    try {
        @SuppressWarnings("deprecation")
        Object o = Class.forName(cn, true,
                                 ClassLoader.getSystemClassLoader()).newInstance();
        provider = (HttpServerProvider)o;
        return true;
    } catch (ClassNotFoundException |
             IllegalAccessException |
             InstantiationException |
             SecurityException x) {
        throw new ServiceConfigurationError(null, x);
    }
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:18,代碼來源:HttpServerProvider.java

示例14: testAddUses

import java.util.ServiceConfigurationError; //導入依賴的package包/類
/**
 * Test Module::addUses
 */
public void testAddUses() {
    Module thisModule = Main.class.getModule();

    assertFalse(thisModule.canUse(Service.class));
    try {
        ServiceLoader.load(Service.class);
        assertTrue(false);
    } catch (ServiceConfigurationError expected) { }

    Module result = thisModule.addUses(Service.class);
    assertTrue(result== thisModule);

    assertTrue(thisModule.canUse(Service.class));
    ServiceLoader.load(Service.class); // no exception
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:19,代碼來源:Main.java

示例15: testBadFactory

import java.util.ServiceConfigurationError; //導入依賴的package包/類
@Test(dataProvider = "badfactories",
      expectedExceptions = ServiceConfigurationError.class)
public void testBadFactory(String testName, String ignore) throws Exception {
    Path mods = compileTest(TEST1_MODULE);

    // compile the bad factory
    Path source = BADFACTORIES_DIR.resolve(testName);
    Path output = Files.createTempDirectory(USER_DIR, "tmp");
    boolean compiled = CompilerUtils.compile(source, output);
    assertTrue(compiled);

    // copy the compiled class into the module
    Path classFile = Paths.get("p", "ProviderFactory.class");
    Files.copy(output.resolve(classFile),
               mods.resolve(TEST1_MODULE).resolve(classFile),
               StandardCopyOption.REPLACE_EXISTING);

    // load providers and instantiate each one
    loadProviders(mods, TEST1_MODULE).forEach(Provider::get);
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:21,代碼來源:BadProvidersTest.java


注:本文中的java.util.ServiceConfigurationError類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。