< Anterior | Siguiente >

Lección 1.2: Comprender los archivos de configuración de OSGi

El ejemplo de OSGi incluye archivos de configuración que se utilizan para iniciar y configurar el servidor y la cuadrícula de WebSphere eXtreme Scale.

Archivos de configuración de OSGi

En esta lección, explorará los siguientes archivos de configuración que se incluyen con el ejemplo de OSGi:
  • collocated.server.properties
  • protoBufObjectGrid.xml
  • protoBufDeployment.xml
  • blueprint.xml

collocated.server.properties

Se requiere una configuración de servidor para iniciar un servidor. Cuando se inicia el paquete de servidor de eXtreme Scale, no inicia un servidor. Espera que se cree el PID de configuración, com.ibm.websphere.xs.server, con un archivo de propiedades del servidor. Este archivo de propiedades del servidor especifica el nombre del servidor, el número de puerto y otras propiedades del servidor.

En la mayoría de los casos, se crea una configuración para establecer el archivo de propiedades del servidor. En casos excepcionales, es posible que sólo desee iniciar un servidor, con todas las propiedades establecidas en un valor predeterminado. En ese caso, puede crear una configuración denominada com.ibm.websphere.xs.server con el valor establecido en default.

Para obtener más detalles sobre el archivo de propiedades de servidor, consulte el tema Archivo de propiedades de servidor.

El archivo de propiedades del ejemplo de OSGi inicia un único catálogo. Este archivo de propiedades de ejemplo inicia un único servicio de catálogo y un servidor de contenedor en el proceso de la infraestructura OSGi. Los clientes de eXtreme Scale se conectan al puerto 2809 y los clientes JMX se conectan al puerto 1099. El contenido del archivo de propiedades del servidor de ejemplo es el siguiente:
serverName=collocatedServer
isCatalog=true
catalogClusterEndPoints=collocatedServer:
localhost:6601:6602traceSpec=
ObjectGridOSGi=all=enabled
traceFile=logs/trace.log
listenerPort=2809
JMXServicePort=1099

protoBufObjectGrid.xml

El archivo XML de descriptor de ObjectGrid protoBufObjectGrid.xml de ejemplo contiene lo siguiente, con los comentarios eliminados.
<objectGridConfig 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
    xmlns="http://ibm.com/ws/objectgrid/config">

    <objectGrids>
        <objectGrid name="Grid" txTimeout="15">

            <bean id="ObjectGridEventListener"
                osgiService="myShardListener"/>

            <backingMap name="Map" readOnly="false"
                lockStrategy="PESSIMISTIC" lockTimeout="5"
                copyMode="COPY_TO_BYTES"
                pluginCollectionRef="serializer"/>
                
        </objectGrid>
    </objectGrids>

    <backingMapPluginCollections>
        <backingMapPluginCollection id="serializer">
            <bean id="MapSerializerPlugin"
                osgiService="myProtoBufSerializer"/>"/>
        </backingMapPluginCollection>
    </backingMapPluginCollections>
	</objectGridConfig>
Hay dos plug-ins configurados en este archivo XML de descriptor de ObjectGrid:
ObjectGridEventListener
Plug-in de nivel de fragmento. Para cada instancia de ObjectGrid, hay una instancia de ObjectGridEventListener. Está configurada para utilizar el servicio OSCi myShardListener. Esto significa que cuando se crea la cuadrícula, el plug-in ObjectGridEventListener utiliza el servicio OSGi myShardListener con la clasificación de servicio más alta disponible.
MapSerializerPlugin
Plug-in de nivel de correlación. Para la correlación de respaldo denominada Map, hay un plug-in MapSerializerPlugin configurado. Está configurado para utilizar el servicio OSGi myProtoBufSerializer. Esto significa que cuando se crea la correlación, el plug-in MapSerializerPlugin utiliza el servicio, myProtoBufSerializer, con la clasificación de servicio con el rango más alto disponible.

protoBufDeployment.xml

El archivo XML de descriptor de despliegue describe la política de despliegue de la cuadrícula denominada Grid, que utiliza cinco particiones. Consulte el siguiente ejemplo de código del archivo XML:
<deploymentPolicy 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/deploymentPolicy ../deploymentPolicy.xsd"
	xmlns="http://ibm.com/ws/objectgrid/deploymentPolicy">

  <objectgridDeployment objectgridName="Grid">
    <mapSet name="MapSet" numberOfPartitions="5">
      <map ref="Map"/>
    </mapSet>
  </objectgridDeployment>
</deploymentPolicy>

blueprint.xml

Como alternativa a la utilización del archivo collocated.server.properties junto con el PID de configuración, com.ibm.websphere.xs.server, puede incluir los archivos XML del ObjectGrid y XML de despliegue en un paquete OSGi, junto con un archivo XML Blueprint, tal como se muestra en el ejemplo siguiente:
<blueprint 
	  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
       xmlns:objectgrid="http://www.ibm.com/schema/objectgrid"
       default-activation="lazy">
    
    <objectgrid:server id="server" isCatalog="true"
                name="server"
                tracespec="ObjectGridOSGi=all=enabled"
                tracefile="C:/Temp/logs/trace.log"
                workingDirectory="C:/Temp/working"
                jmxport="1099">
        <objectgrid:catalog host="localhost" port="2809"/>
    </objectgrid:server>
  
    <objectgrid:container id="container"
objectgridxml="/META-INF/objectgrid.xml"
       deploymentxml="/META-INF/deployment.xml"
			server="server"/>
</blueprint>

Punto de comprobación de la lección

En esta lección, ha aprendido acerca de los archivos de configuración que se utilizan en el ejemplo de OSGi. Ahora, cuando inicie y configure el servidor y la cuadrícula de eXtreme Scale, comprenderá qué archivos se utilizan en estos procesos y cómo interactúan estos archivos con los plug-ins de la infraestructura OSGi.

< Anterior | Siguiente >