< Précédent | Suivant >

Leçon 1.2 : Description des fichiers de configuration OSGi

L'exemple OSGi inclut des fichiers de configuration que vous pouvez utiliser pour démarrer et configurer le serveur et la grille WebSphere eXtreme Scale.

Fichiers de configuration OSGi

Dans cette leçon, vous allez explorer les fichiers de configuration suivants fournis dans l'exemple OSGI :
  • collocated.server.properties
  • protoBufObjectGrid.xml
  • protoBufDeployment.xml
  • blueprint.xml

collocated.server.properties

Une configuration de serveur est nécessaire pour démarrer un serveur. Lorsque l'ensemble de serveur eXtreme Scale est démarré, il ne démarre pas un serveur. Il attend la création du PID de configuration com.ibm.websphere.xs.server avec un fichier de propriétés de serveur. Ce fichier de propriétés du serveur indique le nom du serveur, le numéro de port et d'autres propriétés du serveur.

Dans la plupart des cas, vous créez une configuration pour définir le fichier des propriétés du serveur. Dans de rares cas, vous pouvez vouloir uniquement démarrer un serveur avec chaque propriété affectée d'une valeur par défaut. Dans ce cas, vous pouvez créer une configuration appelée com.ibm.websphere.xs.server avec la valeur default.

Pour plus d'informations sur le fichier des propriétés du serveur, voir la rubrique Fichier de propriétés du serveur.

L'exemple de fichier de propriétés du serveur OSGi démarre un catalogue unique. Ce fichier de propriétés démarre un service de catalogue unique et un serveur de conteneur dans le processus d'infrastructure OSGi. Les clients eXtreme Scale se connectent sur le port 2809 et les clients JMX, sur le port 1099. Contenu du fichier de propriétés de serveur :
serverName=collocatedServer
isCatalog=true
catalogClusterEndPoints=collocatedServer:localhost:6601:6602
traceSpec=ObjectGridOSGi=all=enabled
traceFile=logs/trace.log
listenerPort=2809
JMXServicePort=1099

protoBufObjectGrid.xml

L'exemple de fichier XML descripteur protoBufObjectGrid.xml ObjectGrid contient les éléments suivants avec les commentaires supprimés.
<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>
Il existe deux plug-in configurés dans ce fichier descripteur XML ObjectGrid :
ObjectGridEventListener
Plug-in au niveau du fragment. Pour chaque instance ObjectGrid, il existe une instance de ObjectGridEventListener. Elle est configurée pour utiliser le service OSGi myShardListener. Cela signifie que lorsque la grille est créée, le plug-in ObjectGridEventListener utilise le service OSGi myShardListener avec le classement de service le plus élevé disponible.
MapSerializerPlugin
Plug-in au niveau de la mappe. Pour la mappe de sauvegarde nommée Map, il existe un plug-in MapSerializerPlugin configuré. Il est configuré pour utiliser le service OSGI myProtoBufSerializer. Cela signifie que lorsque la grille est créée, le plug-in MapSerializerPlugin utilise le service, myProtoBufSerializer, avec le classement de service le plus élevé disponible.

protoBufDeployment.xml

Le fichier descripteur XML de déploiement décrit la stratégie de déploiement pour la grille Grid qui utilise cinq partitions. Voir l'exemple de code de fichier XML suivant :
<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

Comme alternative à l'utilisation du fichier collocated.server.properties en association avec le PID de configuration, com.ibm.websphere.xs.server, vous pouvez inclure le fichier XML ObjectGrid et des fichiers XML de déploiement dans un ensemble OSGi, avec un fichier XML Blueprint, comme dans l'exemple suivant :
<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>

Point de contrôle de la leçon

Dans cette leçon, vous avez découvert les fichiers de configuration qui sont utilisées dans l'exemple OSGi. Maintenant, lorsque vous démarrez et configurez la grille eXtreme Scale et le serveur, vous savez quels fichiers sont utilisés dans ces processus et comment ces fichiers interagissent avec vos plug-in dans l'infrastructure OSGi.

< Précédent | Suivant >