WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Identificar el ensamblado .NET en tiempo de ejecución

Las reglas que rigen cómo se carga el ensamblado .NET desde el sistema de archivos de intermediario si no está empaquetado en el archivo BAR.

La configuración de .NET para un intermediario se controla mediante propiedades del nodo .NET o la firma del procedimiento ESQL. Opcionalmente, también se puede definir un servicio configurable DotNetAppDomain para opciones de configuración adicionales. Un flujo de mensajes puede invocar ensamblados que se ejecutan dentro del grupo de ejecución de un intermediario utilizando el entorno de ejecución Common Language Runtime (CLR) de Microsoft). Los desarrolladores de flujos pueden controlar los ensamblados .NET Framework que se cargan y los dominios de aplicación .NET que se utilizan. Los ensamblados se invocan desde un nodo .NET en un flujo de mensajes o bien invocando un procedimiento ESQL.

Dominios de aplicación

.NET Framework separa ensamblados de aplicación para que se ejecuten en un dominio de aplicación específico que proporciona un ámbito para los recursos de una aplicación. En WebSphere Message Broker, el proceso de sistema operativo de grupo de ejecución (DataFlowEngine) aloja el CLR. Dentro de este proceso, los ensamblados .NET se pueden ejecutar dentro de múltiples dominios de aplicación si es necesario.
  • La propiedad Nombre de AppDomain de un nodo .NET especifica el dominio de la aplicación en la que se va a cargar el ensamblado. Si se define un servicio configurable DotNetAppDomain con el mismo nombre que el Nombre de dominio de aplicación del nodo, las propiedades del servicio configurable tienen prioridad cuando se carga el ensamblado. Estas propiedades incluyen la propiedad Directorio base de la aplicación.
  • Cuando un procedimiento ESQL invoca un ensamblado .NET, la signatura del procedimiento puede especificar el dominio de aplicación en el que debe cargarse el ensamblado. Si se define un servicio configurable DotNetAppDomain con el nombre que se especifica para el dominio de aplicación en la signatura del procedimiento ESQL, las propiedades del servicio configurable (por ejemplo, el Directorio base de la aplicación) tienen prioridad cuando se carga el ensamblado.
Si los métodos precedentes no especifican ningún dominio de aplicación, el dominio de aplicación en el que se carga el ensamblado está determinado por:
  • El nombre de la aplicación, si se despliega dentro de una aplicación de WebSphere Message Broker
  • El nombre del grupo de ejecución, si se despliega en un flujo que no está definido dentro de una aplicación de WebSphere Message Broker
Si el dominio de aplicación está determinado por el nombre de la aplicación o el nombre del grupo de ejecución, y se define un servicio configurable DotNetAppDomain con el mismo nombre, las propiedades del servicio configurable (por ejemplo, el Directorio base de la aplicación) tienen prioridad cuando se carga el ensamblado. Si el nombre de la aplicación o el nombre del grupo de ejecución incluye caracteres de espacio, estos caracteres se ignoran cuando el nombre de la aplicación o el nombre del grupo de ejecución se compara con el nombre del servicio configurable.

Directorio base de la aplicación

Para saber qué copia de un ensamblado se va a cargar, primero determine el Directorio base de la aplicación.
  1. Si la propiedad Dominio de aplicación hace referencia a un servicio configurable, se utiliza la propiedad ApplicationBase del servicio configurable. Utilice este método en entornos de producción.
    Nota: Las propiedades de servicio configurables, incluyendo ApplicationBase, siempre tienen prioridad incluso si ha desplegado un dominio de aplicación .NET que contiene los ensamblados en el tiempo de ejecución. En esta situación, para asegurarse de que se carga el ensamblado .NET desde .appdomainzip y no desde el directorio base de aplicación, asegúrese de que la propiedad ApplicationBase de servicio configurable está en blanco.
  2. Si la propiedad Nombre de ensamblado del nodo .NET (o parte equivalente de la firma del procedimiento ESQL) especifica una ubicación absoluta en el sistema de archivos, esta vía de acceso de directorio completa se utiliza como el Directorio base de la aplicación.
  3. Si la propiedad Nombre de ensamblado del nodo .NET (o la parte equivalente de la firma del procedimiento ESQL) especifica solamente el nombre de archivo .dll sin ninguna vía de acceso, el intermediario utiliza un subdirectorio de la vía de acceso de trabajo del intermediario en tiempo de ejecución para el directorio base de la aplicación. Este directorio puede cambiar; considere la posibilidad de utilizar uno de los métodos alternativos.

Carga de ensamblados y la Caché de ensamblados global

El intermediario espera encontrar el ensamblado .NET necesario en el Directorio base de la aplicación. No obstante, puede colocar ensamblados en una memoria caché común para toda la máquina, conocida como la Caché de ensamblados global (GAC). Para colocar un ensamblado en la GAC, éste debe tener un Nombre seguro: cuando se compila, el ensamblado recibe las propiedades de una versión, una referencia cultural y una señal de clave pública. Al configurar el nodo de .NET o una invocación desde ESQL, puede especificar la versión, contexto cultural y señal de clave pública del ensamblado Strong-Named que se va a utilizar.

Tiene que reiniciar el grupo de ejecución si desea volver a cargar o actualizar un ensamblado con Nombre seguro.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:01:03


Tema de tareaTema de tarea | Versión 8.0.0.5 | bc34225_