Configuración de servidores con OSGi Blueprint

Puede configurar servidores de contenedor de WebSphere eXtreme Scale utilizando un archivo XML de OSGi Blueprint, lo que permite simplificar el empaquetado y el desarrollo de paquetes de servidor autocontenidos.

Antes de empezar

En este tema se supone que se han completado las tareas siguientes:

Acerca de esta tarea

Esta tarea describe cómo configurar un servidor de eXtreme Scale con un contenedor utilizando un archivo XML Blueprint. El resultado del procedimiento es paquete de contenedor. Cuando se inicie el paquete de contenedor, el paquete de el servidor eXtreme Scale realizará un seguimiento del paquete, analizará el XML de servidor e iniciará un servidor y contenedor.

Un paquete de contenedor se puede combinar de manera opcional con la aplicación y los plug-ins de eXtreme Scale cuando no son necesarias actualizaciones de plug-in dinámicas o los plug-ins no soportan la actualización dinámica.

Procedimiento

  1. Cree un archivo XML Blueprint con el espacio de nombres objectgrid incluido. Puede utilizar el nombre que desee para el archivo. No obstante, debe incluir el espacio de nombres blueprint:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
               xmlns:objectgrid="http://www.ibm.com/schema/objectgrid"
               xsi:schemaLocation="http://www.ibm.com/schema/objectgrid
                    http://www.ibm.com/schema/objectgrid/objectgrid.xsd">
    ...
    </blueprint>
  2. Añada la definición XML para el servidor de eXtreme Scale con las propiedades de servidor adecuadas. Consulte el archivo XML de descriptor Spring para obtener detalles sobre todas las propiedades de configuración disponibles. Consulte el ejemplo siguiente de la definición XML:
    <objectgrid:server id="xsServer" tracespec="ObjectGridOSGi=all=enabled" 
    tracefile="logs/osgi/wxsserver/trace.log" jmxport="1199" listenerPort="2909">
    <objectgrid:catalog host="catserver1.mycompany.com" port="2809" />
    <objectgrid:catalog host="catserver2.mycompany.com" port="2809" />
    </objectgrid:server>
  3. Añadir la definición XML para el contenedor de eXtreme Scale con la referencia a la definición de servidor y a los archivos XML de descriptor ObjectGrid y XML de despliegue ObjectGrid incorporados en el paquete; por ejemplo:
    <objectgrid:container id="container"
        objectgridxml="/META-INF/objectGrid.xml" 
        deploymentxml="/META-INF/objectGridDeployment.xml"
        server="xsServer" />
  4. Almacene el archivo XML Blueprint en el paquete de contenedor. El XML Blueprint se debe almacenar en el directorio OSGI-INF/blueprint para que se encuentre el contenedor Blueprint.
    Para almacenar el archivo XML Blueprint en un directorio diferente, debe especificar la cabecera de manifiesto Bundle-Blueprint; por ejemplo:
    Bundle-Blueprint: OSGI-INF/blueprint.xml
  5. Empaquete los archivos en un solo archivo JAR de paquete. Consulte el ejemplo siguiente de una jerarquía de directorios de paquete:
    MyBundle.jar
        /META-INF/manifest.mf
        /META-INF/objectGrid.xml
        /META-INF/objectGridDeployment.xml
        /OSGI-INF/blueprint/blueprint.xml

Resultados

Ya se ha creado un paquete de contenedor de eXtreme Scale y ahora se puede instalar en Eclipse Equinox. Cuando se inicia el paquete de contenedor, el entorno de ejecución de servidor de eXtreme Scale del paquete de servidor de eXtreme Scale inicia automáticamente el servidor de eXtreme Scale de singleton utilizando los parámetros definidos en el paquete e inicia un servidor de contenedor. El paquete se puede detener e iniciar, lo que hace que el contenedor se detenga y se inicie. El servidor es un singleton y no se detiene cuando el paquete se inicia por primera vez.