Carga de clases de nodo definido por el usuario

Cuando un nodo definido por el usuario en Java se empaqueta como un archivo PAR, ese nodo se carga en una cargador de clases aparte. El cargador de clases carga cualquier clase que se empaqueta dentro del PAR desplegado. Las clases que se colocan en el JAR modifican las clases que se encuentran en el directorio de clases compartidas o la variable de entorno CLASSPATH. Si el PAR desplegado contiene más de un tipo de nodo, los nodos comparten el mismo cargador de clases. Por tanto, un conjunto de nodos definidos por el usuario que compartan datos estáticos, deben empaquetarse en un solo archivo PAR. Los nodos definidos por el usuario en Java que se empaquetan como simples archivos JAR, se cargan en el mismo cargador de clases. Las clases y la ubicación desde la que se cargan se graba en un rastreo de usuario, de forma que puede utilizar esta información para comprobar que se están cargando las clases correctas.

El intermediario utiliza el siguiente árbol de cargador de clases:


El diagrama muestra los componentes del árbol del cargador de clases que el intermediario utiliza. La rutina de carga es el nodo raíz del árbol y tiene el sistema como único hijo. El hijo del sistema es Común. Común tiene dos hijos: Intermediario y Compartido. El Intermediario no tiene hijos, y Compartido tiene muchos. Los hijos de Compartido incluyen los nodos definidos por el usuario Agrupado y Java. Puede haber cualquier número de nodos Java definidos por el usuario.

A continuación, se describen los componentes del árbol de cargador de clases:

Vías de acceso de búsqueda de carga de clases de nodos definidos por el usuario

Paquete de nodos definidos por el usuario en un PAR

El intermediario utiliza la siguiente vía de acceso de búsqueda para encontrar las clases de nodo definidas por el usuario:
  1. /classes para localizar clases en el PAR desplegado.
  2. /lib para localizar archivos JAR en el PAR desplegado.
  3. <VíaAccesoTrabajo>/shared-classes/ para localizar cualquier archivo JAR.
  4. La variable de entorno CLASSPATH.

Paquete de nodos definidos por el usuario en un JAR

El intermediario utiliza la siguiente vía de acceso de búsqueda para encontrar las clases de nodo definidas por el usuario:
  1. El archivo JAR desplegado.
  2. <VíaAccesoTrabajo>/shared-classes/ para localizar cualquier archivo JAR
  3. La variable de entorno CLASSPATH.

Clases de estándares aprobados modificables

El mecanismo de modificación de estándares aprobados permite modificar los siguientes paquetes estándar en el JRE:

  • javax.rmi.CORBA
  • org.omg.CORBA
  • org.omg.CORBA.DynAnyPackage
  • org.omg.CORBA.ORBPackage
  • org.omg.CORBA.portable
  • org.omg.CORBA.TypeCodePackage
  • org.omg.CORBA_2_3
  • org.omg.CORBA_2_3.portable
  • org.omg.CosNaming
  • org.omg.CosNaming.NamingContextExtPackage
  • org.omg.CosNaming.NamingContextPackage
  • org.omg.Dynamic
  • org.omg.DynamicAny
  • org.omg.DynamicAny.DynAnyFactoryPackage
  • org.omg.DynamicAny.DynAnyPackage
  • org.omg.IOP
  • org.omg.IOP.CodecFactoryPackage
  • org.omg.IOP.CodecPackage
  • org.omg.Messaging
  • org.omg.PortableInterceptor
  • org.omg.PortableInterceptor.ORBInitInfoPackage
  • org.omg.PortableServer
  • org.omg.PortableServer.CurrentPackage
  • org.omg.PortableServer.POAManagerPackage
  • org.omg.PortableServer.POAPackage
  • org.omg.PortableServer.portable
  • org.omg.PortableServer.ServantLocatorPackage
  • org.omg.SendingContext
  • org.omg.stub.java.rmi
  • org.w3c.dom
  • org.xml.sax
  • org.xml.sax.ext
  • org.xml.sax.helpers
Consulte Mecanismo de estándares aprobados modificables para obtener más información.

Para modificar estos paquetes en el intermediario, coloque los archivos JAR para los estándares API en el directorio /lib del PAR.

Contexto JNDI

Al buscar un contexto JNDI, se utiliza el cargador de clases de contexto. Si la búsqueda utiliza clases que están empaquetadas con el nodo definido por el usuario, el cargador de clases de contexto debe ser el mismo que el cargador de clases que se está utilizando para cargar el nodo definido por el usuario. Para asegurar que cada hebra utiliza el mismo cargador de clases, puede incluirse el siguiente código en la clase de nodo definido por el usuario:
Thread.currentThread.setContextClassLoader(this.getClass().getClassLoader());
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as24996_