org.apache.catalina.Context.getParentClassLoader()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(3.8k)|赞(0)|评价(0)|浏览(112)

本文整理了Java中org.apache.catalina.Context.getParentClassLoader()方法的一些代码示例,展示了Context.getParentClassLoader()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Context.getParentClassLoader()方法的具体详情如下:
包路径:org.apache.catalina.Context
类名称:Context
方法名:getParentClassLoader

Context.getParentClassLoader介绍

暂无

代码示例

代码示例来源:origin: org.apache.tomcat/tomcat-catalina

/**
 * Create associated classLoader.
 */
private WebappClassLoaderBase createClassLoader()
  throws Exception {
  Class<?> clazz = Class.forName(loaderClass);
  WebappClassLoaderBase classLoader = null;
  if (parentClassLoader == null) {
    parentClassLoader = context.getParentClassLoader();
  }
  Class<?>[] argTypes = { ClassLoader.class };
  Object[] args = { parentClassLoader };
  Constructor<?> constr = clazz.getConstructor(argTypes);
  classLoader = (WebappClassLoaderBase) constr.newInstance(args);
  return classLoader;
}

代码示例来源:origin: codefollower/Tomcat-Research

/**
 * Create associated classLoader.
 */
private WebappClassLoader createClassLoader()
  throws Exception {
  Class<?> clazz = Class.forName(loaderClass);
  WebappClassLoader classLoader = null;
  if (parentClassLoader == null) {
    parentClassLoader = context.getParentClassLoader();
  }
  Class<?>[] argTypes = { ClassLoader.class };
  Object[] args = { parentClassLoader };
  Constructor<?> constr = clazz.getConstructor(argTypes);
  classLoader = (WebappClassLoader) constr.newInstance(args);
  return classLoader;
}

代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core

/**
 * Create associated classLoader.
 */
private WebappClassLoaderBase createClassLoader()
  throws Exception {
  Class<?> clazz = Class.forName(loaderClass);
  WebappClassLoaderBase classLoader = null;
  if (parentClassLoader == null) {
    parentClassLoader = context.getParentClassLoader();
  }
  Class<?>[] argTypes = { ClassLoader.class };
  Object[] args = { parentClassLoader };
  Constructor<?> constr = clazz.getConstructor(argTypes);
  classLoader = (WebappClassLoaderBase) constr.newInstance(args);
  return classLoader;
}

代码示例来源:origin: org.apache.tomcat/tomcat-catalina

loader = context.getParentClassLoader();

代码示例来源:origin: justlive1/oxygen

@Override
 public void lifecycleEvent(LifecycleEvent event) {
  if (event.getType().equals(Lifecycle.BEFORE_START_EVENT)) {
   Context context = (Context) event.getLifecycle();
   WebResourceRoot resources = context.getResources();
   if (resources == null) {
    resources = new StandardRoot(context);
    context.setResources(resources);
   }

   // 使用embedded tomcat时 WEB-INF放在了classpath下
   URL resource = context.getParentClassLoader().getResource(Constants.WEB_INF);
   if (resource != null) {
    String webXmlUrlString = resource.toString();
    try {
     URL root = new URL(
       webXmlUrlString.substring(0, webXmlUrlString.length() - Constants.WEB_INF.length()));
     resources.createWebResourceSet(ResourceSetType.RESOURCE_JAR, Constants.WEB_INF_PATH, root,
       Constants.WEB_INF_PATH);
    } catch (MalformedURLException e) {
     // ignore
    }
   }
  }
 }
}

代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core

loader = context.getParentClassLoader();

代码示例来源:origin: hengyunabc/executable-embeded-tomcat-sample

@Override
public void lifecycleEvent(LifecycleEvent event) {
  if (event.getType().equals(Lifecycle.BEFORE_START_EVENT)) {
    Context context = (Context) event.getLifecycle();
    WebResourceRoot resources = context.getResources();
    if (resources == null) {
      resources = new StandardRoot(context);
      context.setResources(resources);
    }
    /**
     * <pre>
     * when run as embeded tomcat, context.getParentClassLoader() is AppClassLoader,
     * so it can load "WEB-INF/web.xml" from app classpath.
     * </pre>
     */
    URL resource = context.getParentClassLoader().getResource("WEB-INF/web.xml");
    if (resource != null) {
      String webXmlUrlString = resource.toString();
      URL root;
      try {
        root = new URL(webXmlUrlString.substring(0, webXmlUrlString.length() - "WEB-INF/web.xml".length()));
        resources.createWebResourceSet(ResourceSetType.RESOURCE_JAR, "/WEB-INF", root, "/WEB-INF");
      } catch (MalformedURLException e) {
        // ignore
      }
    }
  }
}

相关文章

微信公众号

最新文章

更多

Context类方法