¿Cómo se puede establecer un WebAppClassLoader costumbre en el embarcadero a través de configuración?

StackOverflow https://stackoverflow.com/questions/3712057

Pregunta

Estoy intentando configurar un embarcadero (6.x) WebAppContext con una subclase personalizada de WebAppClassLoader . En el código (Scala), es simplemente esto:

  val context = new WebAppContext()
  val cwacl = new CustomWebAppClassLoader(context)
  context.setClassLoader(cwacl)
  ...

Esto funciona bien cuando la incrustación de embarcadero. En la producción, sin embargo, sólo desplegar un archivo de la guerra a una instancia de amarre independiente, así que no hay oportunidad de cosas configurar en código como este.

No se puede encontrar la manera de hacer lo mismo a través de los archivos de configuración del muelle. Cualquier ayuda es apreciada.

Bono: ¿Cómo se configura experto-embarcadero-plugin utilizar el CustomWebAppClassLoader:)

¿Fue útil?

Solución

You could use the context config files. There are examples in the contexts/ directory.

This would be something along these lines:

<Configure id="mycontext1" class="org.mortbay.jetty.webapp.WebAppContext">
    <Set name="classLoader">
        <New class="f.q.n.CustomWebAppClassLoader">
           <Arg><Ref id="mycontext1"/></Arg></New>
    </Set>
</Configure>

(See the Jetty XML Syntax configuration reference for more details.)

Otros consejos

As an alternative to using a context config file, you can set the classloader attributes in the pom.xml file, for jetty >= 8.x e.g. not scanning any class within WEB-INF for faster startup:

<plugins>
  <plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>${jetty.version}</version>
    <configuration>
      <webApp>
        <webInfIncludeJarPattern>^$</webInfIncludeJarPattern>
      </webApp>
      <stopKey>foo</stopKey>
      <stopPort>9999</stopPort>
    </configuration>
  </plugin>
</plugins>

Reference: Jetty plugin webapp configuration

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top