É possível fazer várias alterações nos aplicativos e em seus
módulos sem precisar parar o servidor e iniciá-lo novamente. Fazer esses
tipos de alterações é conhecido como implementação automática e
recarregamento dinâmico.
Antes de Iniciar
A nota a seguir aplica-se a referências de arquivo xmi nesse
tópico:
Configurações suportadas: Para arquivos de extensão e de ligação IBM®,
a extensão do nome do arquivo .xmi ou .xml é diferente dependendo de você estar utilizando um aplicativo pré-Java EE 5 ou
um módulo ou um aplicativo ou módulo Java™
EE 5 ou posterior. Um arquivo de extensão ou de ligação IBM é denominado ibm-*-ext.xmi ou ibm-*-bnd.xmi em que * é o tipo de arquivo de extensão ou de ligação como app, aplicativo, ejb-jar ou web. As seguintes condições se aplicam:
- Para um aplicativo ou módulo que usa um Java EE versão anterior à versão 5, a extensão do arquivo deverá ser .xmi.
- Para um aplicativo ou módulo que usa Java EE 5 ou posterior, a extensão do
arquivo deve ser .xml. Se os arquivos .xmi forem incluídos no aplicativo ou módulo, o produto ignorará os arquivos .xmi.
No entanto, um módulo Java EE
5 ou posterior pode existir dentro de um aplicativo que inclui arquivos
pré-Java EE 5 e usa a extensão do nome do arquivo .xmi.
Os arquivos ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi,
e ibm-portlet-ext.xmi continuam a usar as extensões de arquivo .xmi.
sptcfg
![[Solaris]](../images/solaris.gif)
Restrição: A função de implementação ativa e de recarregamento dinâmico não é suportada quando o produto estiver em execução nesses sistemas operacionais. Os arquivos Java archive (JAR) dentro do
Java Development Kit (JDK) associado são mapeados pela memória. Se esses
arquivos JAR forem atualizados pela funcionalidade de implementação ativa
e de recarregamento dinâmico quando estiverem sendo usados pela Java virtual machine
(JVM), os arquivos se tornam inconsistentes, o que resulta no travamento
do servidor de aplicativos. Ao fazer alterações em um aplicativo nesses sistemas operacionais, não use a funcionalidade de implementação ativa e de recarregamento dinâmico.
Em vez disso, reinicie o aplicativo para refletir as alterações.
Esse tópico supõe que seus arquivos de aplicativo estão implementados em um servidor e que você deseja fazer upgrade dos arquivos.
Consulte Maneiras de Atualizar Arquivos de Aplicativos Corporativos e determine
se a implementação rápida é a maneira apropriada de atualizar os arquivos
de aplicativo. Outras maneiras são mais fáceis, e a implementação a quente é apropriada apenas para usuários avançados.
Não
utilize implementação ativa se você pretender exportar o aplicativo, gerar um plug-in com
base na configuração do aplicativo ou executar o gerenciamento de outro aplicativo no
futuro. As alterações feitas nos arquivos do aplicativo utilizando a implementação
ativa não são reconhecidas pelo console administrativo ou pelas funções de gerenciamento
de aplicativo wsadmin. Essas funções reconhecem apenas os arquivos do aplicativo que os
programas administrativos, como o console ou o wsadmin, apresentam durante instalação,
atualização ou outras funções de gerenciamento do aplicativo. As funções de gerenciamento
do aplicativo não reconhecem arquivos alterados por implementação ativa.
Importante: Não
utilize a implementação rápida para atualizar componentes em uma célula gerenciada do gerenciador
de implementação de produção. Implementação rápida é ideal para o desenvolvimento e teste,
mas apresenta riscos inaceitáveis para ambientes de produção. A ressincronização total ou parcial
pode apagar os componentes implementados rapidamente. Além disso, a execução do comando restoreconfig pode sobrescrever as alterações feitas nos arquivos de
aplicativo expandidos. Além disso, os componentes
implementados rapidamente não são migrados entre versões do WebSphere Application Server. Para incluir novos
componentes ou módulos em um aplicativo corporativo, remonte o arquivo EAR do
aplicativo para que possua novos componentes ou módulos e, em seguida,
reimplemente o arquivo EAR.
Sobre Esta Tarefa
A implementação automática é o processo de adição de novos componentes (como arquivos WAR, arquivos Jar EJB, beans corporativos Java, servlets e arquivos JSP) a um servidor em execução sem precisar parar o processo do servidor de aplicativos e iniciá-lo novamente.
O recarregamento dinâmico é a capacidade de alterar um componente existente sem precisar iniciar o servidor novamente
para que a alteração entre em vigor. O recarregamento dinâmico envolve:
- Alterações na implementação de um componente de um aplicativo,
como a alteração da implementação de um servlet
- Mudanças na configuração do aplicativo,
como a mudança do descritor de implementação para um módulo da Web
Em oposição às alterações feitas em um aplicativo implementado descrito em
Atualizando Arquivos de Aplicativo Corporativo, as alterações feitas utilizando implementação a quente ou recarregamento dinâmico não utilizam o console administrativo nem um comando de script wsadmin. Você deve manipular diretamente os arquivos do aplicativo no servidor onde o aplicativo está implementado.
Se o aplicativo que está sendo atualizado for implementado em um servidor que possui
sua política de carregador de classe de aplicativo
definida como Single, você poderá não conseguir recarregar dinamicamente o seu aplicativo. No mínimo, é necessário iniciar o servidor novamente após atualizar o aplicativo.
Procedimento
- Localize os arquivos de aplicativos expandidos.
Os arquivos de
aplicativo estão no diretório especificado durante a instalação do aplicativo ou,
se você não especificou um diretório de destino customizado, estão no diretório de destino
padrão, app_server_root/installedApps/cell_name.
Seu arquivo EAR,
${APP_INSTALL_ROOT}/nome_da_célula/nome_do_aplicativo.ear, aponta para o diretório de destino. O arquivo variables.xml para
o nó define ${APP_INSTALL_ROOT}.
É importante localizar os arquivos de aplicativo expandidos porque, como parte da instalação de aplicativos, um WebSphere Application Server descompacta o conteúdo do arquivo jar das partes do arquivo EAR no sistema de arquivos do computador que executará o aplicativo. Esses arquivos expandidos são o que o servidor consulta ao executar o aplicativo. Se não for possível localizar os arquivos dos aplicativos expandidos,
consulte o atributo binariesURL no arquivo deployment.xml para
seu aplicativo. O atributo designa a localização que o tempo de execução
utiliza para localizar os arquivos do aplicativo.
Para o restante dessas informações sobre implementação automática e recarregamento dinâmico,
raiz_do_aplicativo representa o diretório raiz dos arquivos dos aplicativos expandidos.
- Localize os arquivos de metadados do aplicativo. Os arquivos de metadados incluem os
descritores de implementação (web.xml, application.xml, ejb-jar.xml,
e seus semelhantes), os arquivos de ligações (ibm-web-bnd.xmi, ibm-app-bnd.xmi,
e seus semelhantes) os arquivos de extensões (ibm-web-ext.xmi, ibm-app-ext.xmi,
e seus semelhantes).
Os arquivos XML de metadados de um aplicativo podem ser carregados de uma entre duas localizações. Os arquivos de metadados podem ser carregados do
mesmo local que os arquivos binários do aplicativo (como application_root/META-INF)
ou eles podem ser carregados da árvore de configuração do WebSphere, ${CONFIG_ROOT}/cells/cell_name/applications
/application_EAR_name/deployments/application_name/.
O valor do sinalizador useMetadataFromBinary especificado durante a instalação do aplicativo controla qual localização será utilizada. Se especificado, os arquivos de metadados são carregados a partir da mesma localização que os arquivos binários dos aplicativos. Se não especificado, os arquivos de metadados são carregados a partir da pasta de implementação do aplicativo na árvore de configuração.
Importante: Você pode ter useMetadataFromBinaries=true,
alterar uma cópia extraída do aplicativo utilizando implementação ativa e fazer com que
as alterações sejam efetivadas no tempo de execução seguindo o procedimento neste tópico. Entretanto, as alterações feitas nos arquivos do aplicativo utilizando a implementação
ativa não são reconhecidas pelo console ou pelas funções de gerenciamento de aplicativo
wsadmin. Essas funções reconhecem apenas os arquivos originais do aplicativo e não os arquivos
alterados pela implementação ativa. Não
utilize implementação ativa se você pretender exportar o aplicativo, gerar um plug-in com
base na configuração do aplicativo ou executar o gerenciamento de outro aplicativo no
futuro. A implementação ativa permite
alterar rapidamente os arquivos do aplicativo; ela não suporta ciclo de fila de
gerenciamento completo de um aplicativo.
Para o restantes dessas informações,
raiz_de_metadados representa a localização dos arquivos de metadados para o aplicativo ou módulo especificado.
- Necessário: Se você estiver executando o WebSphere Application Server em um grupo de máquinas que usam o WebSphere Application Server, Network Deployment e estiver alterando um aplicativo em um nó específico, desative a sincronização automática.
- Clique em na árvore de navegação do console.
- Na página Serviço de sincronização de arquivo,
limpe a caixa de seleção para Sincronização automática e clique em
OK.
Ao executar o WebSphere Application Server em um grupo de máquinas que usam o WebSphere Application Server, Network Deployment e alterar um arquivo do disco no diretório de aplicativos expandido para um nó específico, você poderá perder essas mudanças a próxima vez que ocorrer a sincronização de nós. No ambiente do WebSphere Application Server, Network Deployment, a configuração armazenada pelo gerenciador de implementação é a cópia principal e todas as mudanças detectadas entre essa cópia principal e a cópia em uma máquina específica acionarão a cópia principal para que seja transferida por download para o nó.
- Opcional: Examine os valores especificados
para Recarregar Classes quando Arquivos de Aplicativo São Atualizados e Intervalo
de Sondagem para Arquivos Atualizados na página de definições do carregador de classes do aplicativo.
Se o recarregamento de classes estiver ativado e o intervalo de sondagem for maior
do que zero (0), os arquivos de aplicativo serão recarregados depois que o aplicativo for
atualizado.
Para arquivos JavaServer Pages (JSP) em um módulo da Web, um contêiner da Web só recarrega os arquivos JSP quando a extensão IBM jspReloadingEnabled nos jspAttributes
do arquivo ibm-web-ext.xmi está definida como true. É possível configurar jspReloadingEnabled para true ao editar os descritores de implementação estendida do módulo da Web em uma ferramenta do conjunto.
- Altere ou adicione os seguintes componentes ou módulos conforme necessário:
- Para que as alterações tenham efeito, pode ser necessário iniciar, parar ou iniciar novamente um aplicativo.
Starting or stopping enterprise applications fornece informações sobre como utilizar o console administrativo para iniciar, parar ou reiniciar um aplicativo.
Starting applications using wsadmin scripting e Stopping applications using wsadmin scripting fornecem informações sobre como utilizar a ferramenta de script wsadmin.
- Se você tiver desativado a sincronização automática
na etapa 3, ative-a novamente:
- Retorne para a página Serviço de sincronização de arquivo.
- Selecione Sincronização Automática.
- Clique OK.
Resultados
Os arquivos do aplicativo estão atualizados no servidor.
Por ter
manipulado os arquivos de aplicativos diretamente no servidor, pode
ser que não seja capaz de utilizar o console administrativo ou um
comando dos scripts wsadmin a fim de trabalhar com tais arquivos. Por exemplo, se você tentar exportar um aplicativo alterado manualmente
utilizando Exportar em uma página Console de Aplicativos Corporativos,
suas alterações manuais em um aplicativo no diretório installedApps não
serão exportadas. Para exportar tais alterações, copie e mova os arquivos
dos aplicativos manualmente.