Sie können das Dienstprogramm xscmd verwenden, um Verwaltungsaufgaben wie das Anzeigen von Services und Rankings, die von jedem Container verwendet werden, und die Aktualisierung der Laufzeitumgebung zur Verwendung neuer Versionen der Bundles auszuführen.
Administratoren sind für das manuelle Kopieren, Installieren und Starten von Bundles im OSGi-Framework verantwortlich. eXtreme Scale enthält eine OSGi-Schnittstelle ServiceTrackerCustomizer, um Services zu überwachen, die als Plug-ins von eXtreme Scale in der ObjectGrid-XML-Deskriptordatei angegeben wurden. Verwenden Sie das Dienstprogramm xscmd, um festzustellen, welche Version des Plug-ins verwendet wird und welche Versionen verwendet werden können, und um Bundle-Upgrades durchzuführen.
eXtreme Scale verwendet die Service-Ranking-Nummer, um die Version jedes Service anzugeben. Wenn zwei oder mehr Services mit derselben Referenz geladen werden, verwendet eXtreme Scale automatisch den Service mit dem höchsten Ranking.
Da eXtreme Scale automatisch die Servicereferenz mit dem höchsten Ranking auswählt, ist es möglich, dass das Datengrid mit mehreren Rankings eines Plug-in-Service gestartet wird.
Wenn der Befehl eine Diskrepanz bei den Rankings feststellt oder einen Service nicht findet, wird eine Fehlerkategorie ungleich null gesetzt. Wird der Befehl erfolgreich ausgeführt, wird die Fehlerkategorie auf 0 gesetzt.
Im folgenden Beispiel sehen Sie die Ausgabe des Befehls osgiCurrent, wenn zwei Plug-ins in demselben Grid mit vier Servern installiert sind. Das Plug-in loaderPlugin verwendet Ranking 1, und txCallbackPlugin verwendet Ranking 2.
OSGi Service Name Current Ranking ObjectGrid Name MapSet Name Server Name
----------------- --------------- --------------- ----------- -----------
loaderPlugin 1 MyGrid MapSetA server1
loaderPlugin 1 MyGrid MapSetA server2
loaderPlugin 1 MyGrid MapSetA server3
loaderPlugin 1 MyGrid MapSetA server4
txCallbackPlugin 2 MyGrid MapSetA server1
txCallbackPlugin 2 MyGrid MapSetA server2
txCallbackPlugin 2 MyGrid MapSetA server3
txCallbackPlugin 2 MyGrid MapSetA server4
OSGi Service Name Current Ranking ObjectGrid Name MapSet Name Server Name
----------------- --------------- --------------- ----------- -----------
loaderPlugin 1 MyGrid MapSetA server1
loaderPlugin 2 MyGrid MapSetA server2
loaderPlugin 1 MyGrid MapSetA server3
loaderPlugin 1 MyGrid MapSetA server4
txCallbackPlugin 2 MyGrid MapSetA server1
txCallbackPlugin 2 MyGrid MapSetA server2
txCallbackPlugin 2 MyGrid MapSetA server3
txCallbackPlugin 2 MyGrid MapSetA server4
Wenn Bundles gestartet werden, die Services enthalten, auf die eine ObjectGrid-Konfiguration verweist, überwacht die eXtreme-Scale-Laufzeitumgebung das Plug-in automatisch, verwendet es aber nicht sofort. Der Befehl osgiAll zeigt an, welche Plug-ins für jeden Server verfügbar sind.
Wenn Sie den Befehl ohne Parameter ausführen, werden alle Services für alle Grids und Server angezeigt. Es können zusätzliche Filter, einschließlich des Filters "-serviceName <Servicename>, angegeben werden, um die Ausgabe auf einen einzigen Service oder einen Teil des Datengrids zu beschränken.
Server: server1
OSGi Service Name Available Rankings
----------------- ------------------
loaderPlugin 1, 2
txCallbackPlugin 1
Server: server2
OSGi Service Name Available Rankings
----------------- ------------------
loaderPlugin 1, 2
txCallbackPlugin 1
Summary - All servers have the same service rankings.
Server: server1
OSGi Service Name Available Rankings
----------------- ------------------
loaderPlugin 2
txCallbackPlugin 1
Server: server2
OSGi Service Name Available Rankings
----------------- ------------------
loaderPlugin 1, 2
txCallbackPlugin 1
Summary - The following servers are missing service rankings:
Server OSGi Service Name Missing Rankings
------ ----------------- ----------------
server1 loaderPlugin 1
Server: server2
OSGi Service Name Available Rankings
----------------- ------------------
invalidPlugin No service found
Server: server1
OSGi Service Name Available Rankings
----------------- ------------------
invalidPlugin No service found
Summary - All servers have the same service rankings.
Der Befehl osgiCheck akzeptiert eine oder mehrere Gruppen von Service-Rankings im folgenden Format: -serviceRankings <Servicename>;<Ranking>[,<Servicename>;<Ranking>]
Wenn alle Rankings verfügbar sind, kehrt die Methode mit der Fehlerkategorie 0 zurück. Ist mindestens ein Ranking nicht verfügbar, wird eine Fehlerkategorie ungleich 0 gesetzt. Außerdem wird eine Tabelle mit allen Servern angezeigt, die die angegebenen Service-Rankings nicht enthalten. Es können zusätzliche Filter verwendet werden, um die Serviceprüfung auf einen Teil der verfügbaren Server in der eXtreme-Scale-Domäne zu beschränken.
Server OSGi Service Unavailable Rankings
------ ------------ --------------------
server1 loaderPlugin 3
server2 loaderPlugin 3
Der Befehl akzeptiert eine oder mehrere Gruppen von Service-Rankings im folgenden Format: -serviceRankings <Servicename>;<Ranking>[,<Servicename>;<Ranking>] -g <Gridname> -ms <MapSet-Name>
Der Aktualisierungsprozess ist insofern idempotent, dass er in dem Fall, dass ein Client eine Task nicht ausführen kann, bewirkt, dass die Operation rückgängig gemacht wird. Wenn ein Client das Rollback nicht durchführen kann oder während des Aktualisierungsprozesses unterbrochen wird, kann derselbe Befehl erneut abgesetzt und beim entsprechenden Schritt fortgesetzt werden.
Wenn der Client seine Aktivitäten nicht fortsetzen kann und der Prozess über einen anderen Client erneut gestartet wird, verwenden Sie die Option -force, um dem Client die Durchführung der Aktualisierung zu ermöglichen. Der Befehl osgiUpdate verhindert, dass mehrere Clients dasselbe MapSet gleichzeitig aktualisieren. Weitere Einzelheiten zum Befehl osgiUpdate finden Sie unter OSGi-Services für eXtreme-Scale-Plug-ins mit xscmd aktualisieren.