当前位置: 首页>>代码示例>>Java>>正文


Java ModuleClassLoader类代码示例

本文整理汇总了Java中org.jboss.modules.ModuleClassLoader的典型用法代码示例。如果您正苦于以下问题:Java ModuleClassLoader类的具体用法?Java ModuleClassLoader怎么用?Java ModuleClassLoader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ModuleClassLoader类属于org.jboss.modules包,在下文中一共展示了ModuleClassLoader类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: displayConfigHelp

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
public void displayConfigHelp(PrintStream out, String fraction) throws IOException, ModuleLoadException {
    ModuleClassLoader cl = Module.getBootModuleLoader().loadModule("swarm.application").getClassLoader();
    Enumeration<URL> docs = cl.getResources("META-INF/configuration-meta.properties");

    Properties props = new Properties();

    while (docs.hasMoreElements()) {
        URL each = docs.nextElement();
        Properties fractionDocs = new Properties();
        fractionDocs.load(each.openStream());
        if (fraction.equals(ALL) || fraction.equals(fractionDocs.getProperty(FRACTION))) {
            fractionDocs.remove(FRACTION);
            props.putAll(fractionDocs);
        }
    }

    props.stringPropertyNames().stream()
            .sorted()
            .forEach(key -> {
                out.println("# " + key);
                out.println();
                out.println(formatDocs("    ", props.getProperty(key)));
                out.println();
            });
}
 
开发者ID:wildfly-swarm,项目名称:wildfly-swarm,代码行数:26,代码来源:CommandLine.java

示例2: dumpYaml

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
public void dumpYaml(PrintStream out, String fraction) throws IOException, ModuleLoadException {
    ModuleClassLoader cl = Module.getBootModuleLoader().loadModule("swarm.application").getClassLoader();
    Enumeration<URL> docs = cl.getResources("META-INF/configuration-meta.properties");

    Properties props = new Properties();

    while (docs.hasMoreElements()) {
        URL each = docs.nextElement();
        Properties fractionDocs = new Properties();
        fractionDocs.load(each.openStream());
        if (fraction.equals(ALL) || fraction.equals(fractionDocs.getProperty(FRACTION))) {
            fractionDocs.remove(FRACTION);
            props.putAll(fractionDocs);
        }
    }

    YamlDumper.dump(out, props);
}
 
开发者ID:wildfly-swarm,项目名称:wildfly-swarm,代码行数:19,代码来源:CommandLine.java

示例3: setupLoggingSystem

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
private static void setupLoggingSystem(ModuleLoader moduleLoader) {
    final ModuleIdentifier logModuleId = ModuleIdentifier.create(MODULE_ID_LOGMANAGER);
    final Module logModule;
    try {
        logModule = moduleLoader.loadModule(logModuleId);
    } catch (final ModuleLoadException mle) {
        throw EmbeddedLogger.ROOT_LOGGER.moduleLoaderError(mle, MODULE_ID_LOGMANAGER, moduleLoader);
    }

    final ModuleClassLoader logModuleClassLoader = logModule.getClassLoader();
    final ClassLoader tccl = WildFlySecurityManager.getCurrentContextClassLoaderPrivileged();
    try {
        WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(logModuleClassLoader);
        WildFlySecurityManager.setPropertyPrivileged(SYSPROP_KEY_LOGMANAGER, SYSPROP_VALUE_JBOSS_LOGMANAGER);

        final Class<?> actualLogManagerClass = LogManager.getLogManager().getClass();
        if (actualLogManagerClass == LogManager.class) {
            System.err.println("Cannot not load JBoss LogManager. The LogManager has likely been accessed prior to this initialization.");
        } else {
            Module.setModuleLogger(new JDKModuleLogger());
        }
    } finally {
        // Reset TCCL
        WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(tccl);
    }
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:27,代码来源:EmbeddedProcessFactory.java

示例4: contextInitialized

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
@Override
public void contextInitialized(ServletContextEvent event) {

    // [TODO] #41 Invalid class load of embedded interface despite defined dependency
    // https://issues.jboss.org/browse/WFLY-3511
    try {
        ModuleClassLoader classLoader = (ModuleClassLoader) getClass().getClassLoader();
        org.jboss.modules.Module graviaModule = classLoader.getModule().getModuleLoader().loadModule(ModuleIdentifier.create("org.jboss.gravia"));
        org.jboss.modules.Module osgiModule = classLoader.getModule().getModuleLoader().loadModule(ModuleIdentifier.create("org.osgi.enterprise"));
        Class<?> interfClass = loadClass(null, osgiModule.getClassLoader(), "org.osgi.service.http.HttpService");
        Class<?> implClass = loadClass(null, graviaModule.getClassLoader(), "org.apache.felix.http.base.internal.service.HttpServiceImpl");
        if (!interfClass.isAssignableFrom(implClass)) {
            System.out.println("NOT ASSIGNABLE: " + interfClass + " <= " + implClass);
        }
    } catch (Exception ex) {
        throw new IllegalStateException(ex);
    }

    ServletContext servletContext = event.getServletContext();

    // HttpService integration
    Runtime runtime = RuntimeLocator.getRequiredRuntime();
    Module sysmodule = runtime.getModuleContext().getModule();
    BundleContext bundleContext = sysmodule.adapt(Bundle.class).getBundleContext();
    servletContext.setAttribute(BundleContext.class.getName(), bundleContext);
}
 
开发者ID:tdiesler,项目名称:fabric8poc,代码行数:27,代码来源:FabricRuntimeActivator.java

示例5: compileModule

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
/**
 * Compiles and links the scripts within the module by locating the correct compiler
 * and delegating the compilation. the classes will be loaded into the module's classloader
 * upon completion.
 * @param module module to be compiled
 * @param moduleCompilationRoot the directory to store compiled classes in.
 */
protected void compileModule(Module module, Path moduleCompilationRoot) throws ScriptCompilationException, IOException {
    // compile the script archive for the module, and inject the resultant classes into
    // the ModuleClassLoader
    ModuleClassLoader moduleClassLoader = module.getClassLoader();
    if (moduleClassLoader instanceof JBossModuleClassLoader) {
        JBossModuleClassLoader jBossModuleClassLoader = (JBossModuleClassLoader)moduleClassLoader;
        ScriptArchive scriptArchive = jBossModuleClassLoader.getScriptArchive();
        List<ScriptArchiveCompiler> candidateCompilers = findCompilers(scriptArchive);
        if (candidateCompilers.size() == 0) {
            throw new ScriptCompilationException("Could not find a suitable compiler for this archive.");
        }

        // Compile iteratively
        for (ScriptArchiveCompiler compiler: candidateCompilers) {
            compiler.compile(scriptArchive, jBossModuleClassLoader, moduleCompilationRoot);
        }
    }
}
 
开发者ID:Netflix,项目名称:Nicobar,代码行数:26,代码来源:ScriptModuleLoader.java

示例6: testPathResources

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
/**
 * Verify that the module creates the expected set of dependencies for a {@link PathScriptArchive}
 */
@Test
public void testPathResources() throws Exception {
    Path jarPath = CoreTestResourceUtil.getResourceAsPath(TEST_TEXT_PATH);
    ScriptArchive jarScriptArchive = new PathScriptArchive.Builder(jarPath)
        .setModuleSpec(new ScriptModuleSpec.Builder(ModuleId.create("testModuleId"))
            .addMetadata(METADATA_NAME, METADATA_VALUE)
            .build())
        .build();
    ModuleIdentifier revisionId = JBossModuleUtils.createRevisionId(TEST_TEXT_PATH.getModuleId(), 1);
    ModuleSpec.Builder moduleSpecBuilder = ModuleSpec.build(revisionId);
    JBossModuleLoader moduleLoader = new JBossModuleLoader();
    JBossModuleUtils.populateModuleSpecWithCoreDependencies(moduleSpecBuilder, jarScriptArchive);
    JBossModuleUtils.populateModuleSpecWithResources(moduleSpecBuilder, jarScriptArchive);
    moduleLoader.addModuleSpec(moduleSpecBuilder.create());

    Module module = moduleLoader.loadModule(revisionId);
    ModuleClassLoader moduleClassLoader = module.getClassLoader();

    // verify the metadata was transfered
    assertEquals(module.getProperty(METADATA_NAME), METADATA_VALUE);
    // verify that the archive resource match exactly the module resources
    Set<String> actualPaths = getResourcePaths(moduleClassLoader);

    assertEquals(actualPaths, TEST_TEXT_PATH.getContentPaths());
}
 
开发者ID:Netflix,项目名称:Nicobar,代码行数:29,代码来源:JBossModuleUtilsTest.java

示例7: deployServletProcessApplication

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
@SuppressWarnings("unchecked")
protected void deployServletProcessApplication(ServletProcessApplication processApplication) {

  ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader();
  String moduleName = ((ModuleClassLoader)contextClassloader).getModule().getIdentifier().toString();

  ServiceName serviceName = ServiceNames.forNoViewProcessApplicationStartService(moduleName);
  ServiceName paModuleService = ServiceNames.forProcessApplicationModuleService(moduleName);

  if(serviceContainer.getService(serviceName) == null) {

    ServiceController<ServiceTarget> requiredService = (ServiceController<ServiceTarget>) serviceContainer.getRequiredService(paModuleService);

    NoViewProcessApplicationStartService service = new NoViewProcessApplicationStartService(processApplication.getReference());
    requiredService.getValue()
      .addService(serviceName, service)
      .setInitialMode(Mode.ACTIVE)
      .install();

  }
}
 
开发者ID:camunda,项目名称:camunda-bpm-platform,代码行数:22,代码来源:MscRuntimeContainerDelegate.java

示例8: testInside

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
@Test
public void testInside() throws Exception {

    // confirm we can load a custom module from a custom repo
    ClassLoader classLoader = ArquillianTest.class.getClassLoader();
    Assert.assertTrue(classLoader instanceof ModuleClassLoader);
    Assert.assertNotNull(classLoader.getResource("progress/bar.clj"));

    // confirm the resource injectors work
    Assert.assertEquals(EXPECTED_URL, url);
    Assert.assertEquals(EXPECTED_URI, uri);
}
 
开发者ID:wildfly-swarm,项目名称:wildfly-swarm,代码行数:13,代码来源:ArquillianTest.java

示例9: executeOperation

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void executeOperation(Object deploymentOperations, String operation) throws Exception {
    Class defaultBootModuleLoaderHolder = this.getClass().getClassLoader().loadClass("org.jboss.modules.DefaultBootModuleLoaderHolder");
    Field instance = defaultBootModuleLoaderHolder.getDeclaredField("INSTANCE");
    instance.setAccessible(true);
    ModuleLoader loader = (ModuleLoader) instance.get(null);
    Module module = loader.loadModule(ModuleIdentifier.fromString("org.jboss.as.deployment-scanner"));
    traceln("ServerLoaderhelper", "Module " + module.toString() + " loaded.");
    ModuleClassLoader cl = module.getClassLoader();
    Class modelNodeClass = cl.loadClassLocal("org.jboss.dmr.ModelNode");
    traceln("ServerLoaderhelper", "org.jboss.dmr.ModelNode class loaded.");
    Object modelNode = modelNodeClass.newInstance();
    Method getMethod = modelNodeClass.getDeclaredMethod("get", String.class);
    Method setMethod = modelNodeClass.getDeclaredMethod("set", String.class);
    Method setAddressMethod = modelNodeClass.getDeclaredMethod("set", modelNodeClass);
    Method setEmptyListMethod = modelNodeClass.getDeclaredMethod("setEmptyList");
    Object operationNode = getMethod.invoke(modelNode, "operation");
    setMethod.invoke(operationNode, operation);
    Object operationAddressNode = getMethod.invoke(modelNode, "address");
    Object addressNode = modelNodeClass.newInstance();
    setEmptyListMethod.invoke(addressNode);
    setAddressMethod.invoke(operationAddressNode, addressNode);
    traceln("ServerLoaderhelper", "We have computed the following operation " + modelNode.toString());
    for (Method deployMethod : deploymentOperations.getClass().getDeclaredMethods()) {
        if ("deploy".equals(deployMethod.getName())) {
            deployMethod.setAccessible(true);
            traceln("ServerLoaderhelper", "We have found the execution method.");
            deployMethod.invoke(deploymentOperations, modelNode, null);
            traceln("ServerLoaderhelper", "We have executed the following operation: " + modelNode.toString());
        }
    }
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:33,代码来源:ServerReloadHelper.java

示例10: createStandaloneServer

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
/**
 * Create an embedded standalone server with an already established module loader.
 *
 * @param moduleLoader the module loader. Cannot be {@code null}
 * @param jbossHomeDir the location of the root of server installation. Cannot be {@code null} or empty.
 * @param cmdargs      any additional arguments to pass to the embedded server (e.g. -b=192.168.100.10)
 * @return the running embedded server. Will not be {@code null}
 */
public static StandaloneServer createStandaloneServer(ModuleLoader moduleLoader, File jbossHomeDir, String... cmdargs) {

    // in the case of a stop and a restart with a different jbossHomeDir, we need to reset some properties.
    // that are set in @org.jboss.as.ServerEnvironment
    resetEmbeddedServerProperties(jbossHomeDir.getAbsolutePath(), ProcessType.STANDALONE_SERVER);

    setupVfsModule(moduleLoader);
    setupLoggingSystem(moduleLoader);

    // Load the Embedded Server Module
    final Module embeddedModule;
    try {
        embeddedModule = moduleLoader.loadModule(ModuleIdentifier.create(MODULE_ID_EMBEDDED));
    } catch (final ModuleLoadException mle) {
        throw EmbeddedLogger.ROOT_LOGGER.moduleLoaderError(mle, MODULE_ID_EMBEDDED, moduleLoader);
    }

    // Load the Embedded Server Factory via the modular environment
    final ModuleClassLoader embeddedModuleCL = embeddedModule.getClassLoader();
    final Class<?> embeddedServerFactoryClass;
    final Class<?> standaloneServerClass;
    try {
        embeddedServerFactoryClass = embeddedModuleCL.loadClass(SERVER_FACTORY);
        standaloneServerClass = embeddedModuleCL.loadClass(StandaloneServer.class.getName());
    } catch (final ClassNotFoundException cnfe) {
        throw EmbeddedLogger.ROOT_LOGGER.cannotLoadEmbeddedServerFactory(cnfe, SERVER_FACTORY);
    }

    // Get a handle to the method which will create the server
    final Method createServerMethod;
    try {
        createServerMethod = embeddedServerFactoryClass.getMethod("create", File.class, ModuleLoader.class, Properties.class, Map.class, String[].class);
    } catch (final NoSuchMethodException nsme) {
        throw EmbeddedLogger.ROOT_LOGGER.cannotGetReflectiveMethod(nsme, "create", embeddedServerFactoryClass.getName());
    }
    // Create the server
    Object standaloneServerImpl = createManagedProcess(ProcessType.STANDALONE_SERVER, createServerMethod, moduleLoader, jbossHomeDir, cmdargs);
    return new EmbeddedManagedProcessImpl(standaloneServerClass, standaloneServerImpl);
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:48,代码来源:EmbeddedProcessFactory.java

示例11: createHostController

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
/**
 * Create an embedded host controller with an already established module loader.
 *
 * @param moduleLoader the module loader. Cannot be {@code null}
 * @param jbossHomeDir the location of the root of server installation. Cannot be {@code null} or empty.
 * @param cmdargs      any additional arguments to pass to the embedded host controller (e.g. -b=192.168.100.10)
 * @return the running host controller Will not be {@code null}
 */
public static HostController createHostController(ModuleLoader moduleLoader, File jbossHomeDir, String[] cmdargs) {

    // reset properties if we've restarted with a changed jbossHomeDir
    resetEmbeddedServerProperties(jbossHomeDir.getAbsolutePath(), ProcessType.HOST_CONTROLLER);

    setupVfsModule(moduleLoader);
    setupLoggingSystem(moduleLoader);

    // Load the Embedded Server Module
    final Module embeddedModule;
    try {
        embeddedModule = moduleLoader.loadModule(ModuleIdentifier.create(MODULE_ID_EMBEDDED));
    } catch (final ModuleLoadException mle) {
        throw EmbeddedLogger.ROOT_LOGGER.moduleLoaderError(mle, MODULE_ID_EMBEDDED, moduleLoader);
    }

    // Load the Embedded Server Factory via the modular environment
    final ModuleClassLoader embeddedModuleCL = embeddedModule.getClassLoader();
    final Class<?> embeddedHostControllerFactoryClass;
    final Class<?> hostControllerClass;
    try {
        embeddedHostControllerFactoryClass = embeddedModuleCL.loadClass(HOST_FACTORY);
        hostControllerClass = embeddedModuleCL.loadClass(HostController.class.getName());
    } catch (final ClassNotFoundException cnfe) {
        throw EmbeddedLogger.ROOT_LOGGER.cannotLoadEmbeddedServerFactory(cnfe, HOST_FACTORY);
    }

    // Get a handle to the method which will create the server
    final Method createServerMethod;
    try {
        createServerMethod = embeddedHostControllerFactoryClass.getMethod("create", File.class, ModuleLoader.class, Properties.class, Map.class, String[].class);
    } catch (final NoSuchMethodException nsme) {
        throw EmbeddedLogger.ROOT_LOGGER.cannotGetReflectiveMethod(nsme, "create", embeddedHostControllerFactoryClass.getName());
    }

    // Create the server
    Object hostControllerImpl = createManagedProcess(ProcessType.HOST_CONTROLLER, createServerMethod, moduleLoader, jbossHomeDir, cmdargs);
    return new EmbeddedManagedProcessImpl(hostControllerClass, hostControllerImpl);
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:48,代码来源:EmbeddedProcessFactory.java

示例12: initCoreModel

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
private static void initCoreModel(final ModelNode root, HostControllerEnvironment environment) {

        try {
            root.get(RELEASE_VERSION).set(Version.AS_VERSION);
            root.get(RELEASE_CODENAME).set(Version.AS_RELEASE_CODENAME);
        } catch (RuntimeException e) {
            if (HostAddHandler.class.getClassLoader() instanceof ModuleClassLoader) {
                //The standalone tests can't get this info
                throw e;
            }
        }
        root.get(MANAGEMENT_MAJOR_VERSION).set(Version.MANAGEMENT_MAJOR_VERSION);
        root.get(MANAGEMENT_MINOR_VERSION).set(Version.MANAGEMENT_MINOR_VERSION);
        root.get(MANAGEMENT_MICRO_VERSION).set(Version.MANAGEMENT_MICRO_VERSION);

        // Community uses UNDEF values
        ModelNode nameNode = root.get(PRODUCT_NAME);
        ModelNode versionNode = root.get(PRODUCT_VERSION);

        if (environment != null) {
            String productName = environment.getProductConfig().getProductName();
            String productVersion = environment.getProductConfig().getProductVersion();

            if (productName != null) {
                nameNode.set(productName);
            }
            if (productVersion != null) {
                versionNode.set(productVersion);
            }
        }

        //Set empty lists for namespaces and schema-locations to pass model validation
        root.get(NAMESPACES).setEmptyList();
        root.get(SCHEMA_LOCATIONS).setEmptyList();
    }
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:36,代码来源:HostDefinition.java

示例13: checkModule

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
private void checkModule(String slot, ModuleIdentifier expected, String...moduleDirNames) throws Exception {
    ModuleLoader loader = createModuleLoader(moduleDirNames);
    ClassLoader classLoader = ConsoleMode.ConsoleHandler.findConsoleClassLoader(loader, slot);
    assertNotNull(classLoader);
    assertTrue(classLoader instanceof ModuleClassLoader);
    ModuleClassLoader moduleClassLoader = (ModuleClassLoader)classLoader;
    assertEquals(expected, moduleClassLoader.getModule().getIdentifier());
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:9,代码来源:ConsoleModeTestCase.java

示例14: start

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
@Override
public void start(StartContext startContext) throws StartException {
    LOGGER.info("Activating Fabric Subsystem");

    Runtime runtime = injectedRuntime.getValue();
    ModuleContext syscontext = runtime.getModuleContext();

    // Install and start this as a {@link Module}
    ModuleClassLoader classLoader = (ModuleClassLoader) getClass().getClassLoader();
    try {
        Dictionary<String, String> headers = getManifestHeaders(classLoader, "wildfly-extension");
        module = runtime.installModule(classLoader, headers);

        // Attach the {@link ModuleEntriesProvider} so
        ModuleEntriesProvider entriesProvider = new ClassLoaderEntriesProvider(module);
        Attachable attachable = AbstractModule.assertAbstractModule(module);
        attachable.putAttachment(AbstractModule.MODULE_ENTRIES_PROVIDER_KEY, entriesProvider);

        // Start the module
        module.start();

    } catch (RuntimeException rte) {
        throw rte;
    } catch (Exception ex) {
        throw new StartException(ex);
    }

    // Open service trackers for {@link Resolver}, {@link Repository}, {@link Provisioner}
    trackers = new HashSet<ServiceTracker<?, ?>>();
    trackers.add(resolverTracker(syscontext, startContext.getChildTarget()));
    trackers.add(repositoryTracker(syscontext, startContext.getChildTarget()));
    trackers.add(provisionerTracker(syscontext, startContext.getChildTarget()));
    trackers.add(completeTracker(syscontext, startContext.getChildTarget()));
}
 
开发者ID:tdiesler,项目名称:fabric8poc,代码行数:35,代码来源:FabricBootstrapService.java

示例15: getManifestHeaders

import org.jboss.modules.ModuleClassLoader; //导入依赖的package包/类
private Dictionary<String, String> getManifestHeaders(ModuleClassLoader classLoader, String jarNamePart) throws IOException {
    URL manifestURL = null;
    Enumeration<URL> resources = classLoader.getResources(JarFile.MANIFEST_NAME);
    while (resources.hasMoreElements()) {
        URL nextURL = resources.nextElement();
        if (nextURL.getPath().contains(jarNamePart)) {
            manifestURL = nextURL;
            break;
        }
    }
    IllegalStateAssertion.assertNotNull(manifestURL, "Cannot obtain manifest URL for: " + jarNamePart);
    Manifest manifest = new Manifest(manifestURL.openStream());
    Dictionary<String, String> headers = new ManifestHeadersProvider(manifest).getHeaders();
    return headers;
}
 
开发者ID:tdiesler,项目名称:fabric8poc,代码行数:16,代码来源:FabricBootstrapService.java


注:本文中的org.jboss.modules.ModuleClassLoader类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。