Usando Scripts para Gerenciar o Ciclo de Vida do Servidor

Se um domínio não usar o Gerenciador de Nós para iniciar e interromper servidores, você poderá usar os scripts de início/parada do servidor padrão de WebLogic ou usar um script wrapper para chamar a WLST (Ferramenta de Script WebLogic).

Melhores práticas para usar scripts personalizados

Não use scripts personalizados, a menos que necessário. No entanto, se você precisar usar scripts personalizados para gerenciar o ciclo de vida do controle do servidor, revise as práticas recomendadas a seguir.

  • Não leia a entrada de stdin ou parâmetros de script. WebLogic O Gerenciamento envia o nome do servidor para scripts do servidor gerenciado, mas nada é enviado para o servidor de administração.
  • Tratar as condições de erro em cada etapa. Isso permite que o Gerenciamento WebLogic trate as falhas com eficiência.
  • Não chame scripts como startWebLogic.sh sem um critério de saída adequado, pois a chamada desse script não sairá do chamador. O script startWebLogic.sh inicia o servidor e não retorna novamente até que o processo do servidor esteja inativo. Isso faz com que o plug-in de gerenciamento WebLogic pare de esperar pela resposta. O gerenciamento WebLogic evita a espera chamando o script, mas é sempre uma prática recomendada sair de um script personalizado normalmente.
  • Se o domínio usar o Gerenciador de Nós, use o WLST para executar a operação e chamar um script WLST do script shell (Linux) ou do arquivo batch (Windows).
  • Se o servidor de administração demorar mais de 5 minutos, ajuste as propriedades em /usr/libexec/oracle-cloud-agent/plugins/oci-wlms/_internal/wls_actions/wlst/properties.json para fornecer valores que seriam ideais para o ambiente. Por exemplo:
    "wls_max_retries": 10, (The number of times to poll for the admin server to check if the admin port is opened)
    "wls_sleep_interval": 30 (The polling interval)

Usando scripts de início/parada do servidor padrão de WebLogic

Use o startWebLogic.sh/cmd e o stopWebLogic.sh/cmd para o servidor de administração e o startManagedWebLogic.sh/cmd e o stopManagedWebLogic.sh/cmd para servidores gerenciados. Configure as definições de domínio no Gerenciamento WebLogic para usar esses scripts. Consulte Configurando Patch e o Controle do Servidor.

Uma vez configurado, o serviço WebLogic Management chama o stopWebLogic.sh sem parâmetros e scripts stop/start ManagedWebLogic.sh informando o nome do servidor como um parâmetro.

Ao usar esses scripts, o WebLogic Management não monitora ou sonda o status de iniciar servidores gerenciados ou interromper servidores. Isso pode levar a uma operação de ciclo de vida que relata o sucesso, mesmo que os servidores não tenham sido interrompidos ou iniciados com sucesso.

Usando script wrapper para chamar WLST

Use o WLST para se conectar ao servidor de administração e, em seguida, use a conexão do servidor de administração para gerenciar servidores. O script WLST é chamado por um script wrapper shell que é usado na configuração do script de inicialização e interrupção no Gerenciamento WebLogic. Veja a seguir os exemplos de scripts wrapper.

Interromper servidor de administração:

# stop Admin script

import sys
 
wls_user = <weblogic-admin-user-name>
wls_password = <weblogic-admin-password>
admin_url = <admin_url>
try:
    connect(wls_user, wls_password, admin_url)
except Exception, e:
    # Handle exception here and identify if the server is running
    if "Error getting the initial context. There is no server running at" in str(e):
        # This error means, there is no server running. So nothing to stop
        sys.exit(0)
    else:
        sys.exit(1)
 
# We are connected. now shutdown the server
try:
    shutdown()
    sys.exit(0)
except:
    # Failed to shutdown. Exit with non-zero
    sys.exit(3)

Script de shell para chamar a operação de interrupção do administrador:

#!/bin/bash

# $MW_HOME - The path to the MW_HOME
$MW_HOME/oracle_common/common/bin/wlst.sh <stop-admin-python script>
Importante

Para iniciar o servidor de Administração, forneça o script startWebLogic.sh como sondagens de Gerenciamento WebLogic para a porta a fim de determinar se o servidor de administração foi iniciado com sucesso.

Iniciar servidor gerenciado:

# start managed server

import sys
 
managed_server_name = sys.argv[1]
wls_user = <weblogic-admin-user-name>
wls_password = <weblogic-admin-password>
admin_url = <admin_url>
 
# connect to the admin server and then start the managed server
 
try:
    connect(wls_user, wls_password, admin_url)
except Exception, e:
    # We cannot connect to admin and hence we cannot start the managed server
    sys.exit(1)     
 
# We are connected. now start the server
try:
    start(managed_server_name)
    sys.exit(0)
except:
    # Failed to start server. Exit with non-zero
    sys.exit(2)

Script para chamar a operação de início/parada do servidor gerenciado:

#!/bin/bash

# $MW_HOME - The path to the MW_HOME
SERVER_NAME=$1
$MW_HOME/oracle_common/common/bin/wlst.sh <stop/start-managedserver-python script> $SERVER_NAME