É possível usar o utilitário xscmd para concluir as tarefas de administrador, como visualizar serviços e suas classificações que estão sendo usados por cada contêiner e atualizar o ambiente de tempo de execução para utilizar novas versões dos pacotes configuráveis.
Os administradores são responsáveis por copiar, instalar e iniciar manualmente pacotes configuráveis na estrutura do OSGi. O eXtreme Scale inclui um ServiceTrackerCustomizer OSGi para controlar quaisquer serviços que foram identificados como plug-ins do eXtreme Scale no arquivo XML do descritor do ObjectGrid. Use o utilitário xscmd para validar qual versão do plug-in é usada, quais versões estão disponíveis para serem usadas e para executar upgrades do pacote configurável.
O eXtreme Scale usa o número de classificação do serviço para identificar a versão de cada serviço. Quando dois ou mais serviços são carregados com a mesma referência, o eXtreme Scale usa automaticamente o serviço com a classificação mais alta.
Como o eXtreme Scale escolhe automaticamente a referência de serviço com a classificação mais alta, é possível que a grade de dados possa iniciar com diversas classificações de um serviço de plug-in.
Se o comando detecta uma incompatibilidade de classificações ou se ele é incapaz de localizar um serviço, um nível de erro diferente de zero é configurado. Se o comando foi concluído com êxito, o nível de erro é configurado como 0.
O exemplo a seguir mostra a saída do comando osgiCurrent quando dois plug-ins estão instalados na mesma grade em quatro servidores. O plug-in loaderPlugin está usando classificação de 1 e txCallbackPlugin está usando classificação 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
Quando pacotes configuráveis que contêm serviços que uma configuração do ObjectGrid está referenciando são iniciados, o ambiente de tempo de execução do eXtreme Scale controla automaticamente o plug-in, mas não o usa imediatamente. O comando osgiAll mostra quais plug-ins estão disponíveis para cada servidor.
Quando executados sem quaisquer parâmetros, todos os serviços são mostrados para todas as grades e todos os servidores. Filtros adicionais, incluindo o filtro -serviceName <service_name>, podem ser especificados para limitar a saída para um único serviço ou um subconjunto da grade de dados.
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.
O comando osgiCheck aceita um ou mais conjuntos de classificações de serviço no formato: -serviceRankings <service name>;<ranking>[,<serviceName>;<ranking>]
Quando as classificações estão todas disponíveis, o método retorna com um nível de erro igual a 0. Se uma ou mais classificações não estiverem disponíveis, um nível de erro diferente de zero será configurado. Uma tabela de todos os servidores que não incluem as classificações do serviço especificadas é exibida. Filtros adicionais podem ser usados para limitar a verificação de serviço para um subconjunto dos servidores disponíveis no domínio do eXtreme Scale.
Server OSGi Service Unavailable Rankings
------ ------------ --------------------
server1 loaderPlugin 3
server2 loaderPlugin 3
O comando aceita um ou mais conjuntos de classificações de serviço no formato: -serviceRankings <service name>;<ranking>[,<serviceName>;<ranking>] -g <grid name> -ms <mapset name>
O processo de atualização é idempotente, de forma que, se um cliente falhar ao concluir qualquer tarefa, isto resultará na operação sendo recuperada. Se um cliente for incapaz de executar a recuperação ou for interrompido durante o processo de atualização, o mesmo comando poderá ser emitido novamente e ele continuará na etapa apropriada.
Se o cliente for incapaz de continuar, e o processo for reiniciado a partir de um outro cliente, use a opção -force para permitir que o cliente execute a atualização. O comando xscmd.bat/xscmd.sh impede que diversos clientes atualizem o mesmo conjunto de mapas simultaneamente. Para obter mais detalhes sobre o comando osgiUpdate, consulte Atualizando Serviços OSGi para Plug-ins do eXtreme Scale com xscmd.