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 scriptstartWebLogic.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>
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