Detalla las opciones de cargador de clases Java™ predeterminadas y el orden de prioridad de cada tipo.
El nodo JavaCompute carga y ejecuta una clase Java definida como la propiedad clase Java en el nodo. Generalmente, esta clase se despliega, junto con otras clases necesarias, en un archivo JAR (archivador Java) contenido en el archivo BAR (archivador de intermediario) que se utiliza para desplegar el flujo que contiene el nodo JavaCompute.
Las clases Java desplegadas en este modo las carga un cargador de clases de todo el grupo de ejecución. Siempre que se despliega un archivo JAR nuevo o modificado, el cargador de clases de todo el grupo de ejecución se suprime y se vuelve a crear con todos los archivos JAR desplegados actualmente. Al mismo tiempo todos los nodos JavaCompute renuevan las clases Java que se utilizan en ellos, y vuelven a crear todas las variables estáticas Java. Es posible modificar este comportamiento utilizando la propiedad servicio configurable JavaClassLoader en el nodo, que permite utilizar cargadores de clases alternativos. Para obtener más detalles, consulte Carga de clases de nodo JavaCompute mediante un servicio configurable.
El cargador de clases de todo el grupo de ejecución busca primero en todos los archivos JAR desplegados una clase necesaria. Si no se puede encontrar una clase necesaria, lo difiere al cargador de clases compartido. El cargador de clases compartido busca en un conjunto de directorios de la máquina de intermediario y carga los archivos JAR encontrados. Se puede utilizar para instalar los archivos JAR necesarios que no necesitan desplegarse de manera repetida, por ejemplo bibliotecas de cliente que los nodos JavaCompute necesitan utilizar. Para obtener más detalles, consulte Cargador de clases compartido Java.
Si la clase necesaria no se puede encontrar en ninguno de los archivos JAR desplegados o en los archivos JAR instalados en los directorios de clases compartidos, se busca en un cargador de clases que contenga todas las clases proporcionadas por el intermediario (por ejemplo: este cargador de clases contiene jplugin2.jar), seguido de la vía de acceso de clases y luego finalmente en el cargador de clases de sistema JVM (máquina virtual Java).
Se deben tener en cuenta dos puntos clave al decidir cuáles de los mecanismos anteriores se utilizarán para cargar una clase: