É possível configurar os servidores de contêiner do WebSphere eXtreme
Scale usando
um arquivo XML do OSGi Blueprint, permitindo o empacotamento e o desenvolvimento simplificados
de pacotes configuráveis do servidor autocontidos.
Antes de Iniciar
Este tópico assume que as seguintes tarefas foram
concluídas:
- A estrutura do Eclipse Equinox OSGi foi instalada e iniciada
com o contêiner de projeto do Eclipse Gemini ou do Apache Aries.
- O pacote configurável do servidor eXtreme Scale
foi instalado e iniciado.
- O pacote configurável de plug-ins dinâmicos do eXtreme Scale
foi criado.
- O arquivo XML do descritor do ObjectGrid do eXtreme Scale
e o arquivo XML da política de implementação foram criados.
Sobre Esta Tarefa
Esta tarefa descreve como configurar um servidor do eXtreme Scale com um contêiner
usando um arquivo XML do projeto. O resultado do procedimento é um pacote configurável
do contêiner. Quando o pacote configurável do contêiner for iniciado, o pacote configurável do servidor
eXtreme Scale controlará o pacote configurável, analisará o XML do servidor e iniciará um servidor
e um contêiner.
Um pacote configurável do contêiner pode ser, opcionalmente, combinado
com o aplicativo e os plug-ins do eXtreme Scale quando atualizações do plug-in dinâmico
não são necessárias ou os plug-ins não suportam a atualização dinâmica.
Procedimento
- Crie um arquivo XML do Blueprint com o namespace objectgrid
incluído. É possível nomear o
arquivo de qualquer jeito. No entanto, ele deve
incluir o namespace do projeto:
<?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>
- Inclua a definição de XML para o servidor eXtreme Scale com as propriedades
de servidor apropriadas. Consulte o arquivo XML do descritor do Spring para obter
detalhes sobre todas as propriedades de configuração disponíveis. Consulte o
exemplo a seguir da definição de 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>
- Inclua a definição de XML para o contêiner do eXtreme Scale com a
referência para a definição de servidor e os arquivos XML do descritor do ObjectGrid
e de implementação do ObjectGrid integrados no pacote configurável; por exemplo:
<objectgrid:container id="container"
objectgridxml="/META-INF/objectGrid.xml"
deploymentxml="/META-INF/objectGridDeployment.xml"
server="xsServer" />
- Armazene o arquivo XML do Blueprint no pacote configurável do contêiner. O XML do Blueprint deve ser armazenado no diretório OSGI-INF/blueprint
para que o contêiner do Blueprint seja localizado.
Para armazenar o XML do Blueprint
em um diretório diferente, você deve especificar o cabeçalho de manifesto
Bundle-Blueprint; por exemplo:
Bundle-Blueprint: OSGI-INF/blueprint.xml
- Empacote os arquivos em um arquivo JAR do pacote configurável único. Consulte
o exemplo a seguir de uma hierarquia do diretório do pacote configurável:
MyBundle.jar
/META-INF/manifest.mf
/META-INF/objectGrid.xml
/META-INF/objectGridDeployment.xml
/OSGI-INF/blueprint/blueprint.xml
Resultados
Um pacote configurável do contêiner do
eXtreme Scale
agora está criado e pode ser instalado no Eclipse Equinox. Quando
o pacote configurável do contêiner é iniciado, o ambiente de tempo de execução do servidor
eXtreme Scale
no pacote configurável do servidor
eXtreme Scale irá iniciar automaticamente servidor do
eXtreme Scale de singleton usando os
parâmetros definidos no pacote configurável e um servidor de contêiner é iniciado.
O pacote configurável pode ser interrompido e iniciado, o que resulta no contêiner
parando e iniciando. O servidor é um singleton e não para
quando o pacote configurável é iniciado pela primeira vez.