Uso degli script per gestire il ciclo di vita del server
Se un dominio non utilizza Node Manager per avviare e arrestare i server, è possibile utilizzare gli script di avvio/arresto predefiniti del server da WebLogic oppure utilizzare uno script wrapper per richiamare WebLogic Scripting Tool (WLST).
Best practice per l'utilizzo di script personalizzati
Se non necessario, non utilizzare script personalizzati. Tuttavia, se è necessario utilizzare script personalizzati per gestire il ciclo di vita del controllo del server, esaminare le procedure consigliate riportate di seguito.
- Non leggere l'input dai parametri
stdin
o script. WebLogic La gestione invia il nome del server per gli script del server gestito, ma non viene inviato alcun messaggio per il server di amministrazione. - Gestire le condizioni di errore in ogni passo. Ciò consente alla gestione WebLogic di gestire gli errori in modo efficiente.
- Non richiamare script come
startWebLogic.sh
senza un criterio di uscita appropriato poiché la chiamata a tale script non comporta l'uscita dal chiamante. Lo scriptstartWebLogic.sh
avvia il server e non torna indietro finché il processo del server non è inattivo. Ciò causa il blocco del plugin di gestione WebLogic in attesa di risposta. WebLogic La gestione evita l'attesa richiamando lo script, ma è sempre consigliabile uscire in modo normale da uno script personalizzato. - Se il dominio utilizza Node Manager, utilizzare WLST per eseguire l'operazione e richiamare uno script WLST dallo script shell (Linux) o dal file batch (Windows).
- Se il server di amministrazione richiede più di 5 minuti, regolare le proprietà in
/usr/libexec/oracle-cloud-agent/plugins/oci-wlms/_internal/wls_actions/wlst/properties.json
per fornire valori ottimali per l'ambiente. Ad esempio:"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)
Uso degli script di avvio/arresto predefiniti del server da WebLogic
Utilizzare startWebLogic.sh/cmd
e stopWebLogic.sh/cmd
per il server di amministrazione e startManagedWebLogic.sh/cmd
e stopManagedWebLogic.sh/cmd
per i server gestiti. Configurare le impostazioni del dominio in WebLogic Management per utilizzare questi script. Vedere Configurazione dell'applicazione di patch e del controllo server.
Una volta configurato, WebLogic Management richiama stopWebLogic.sh
senza parametri e script stop/start ManagedWebLogic.sh
passando il nome del server come parametro.
Quando si utilizzano questi script, WebLogic Management non controlla né esegue il polling dello stato dell'avvio dei server gestiti o dell'arresto di alcun server. Ciò può portare al successo del reporting delle operazioni del ciclo di vita anche se i server non sono stati arrestati o avviati correttamente.
Utilizzo dello script wrapper per richiamare WLST
Utilizzare WLST per connettersi al server di amministrazione e quindi utilizzare la connessione al server di amministrazione per gestire i server. Lo script WLST viene richiamato da uno script shell wrapper utilizzato nell'impostazione dello script di avvio e arresto in WebLogic Management. Di seguito sono riportati gli script wrapper di esempio.
Arresta server di amministrazione:
# 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 shell per richiamare l'operazione di arresto amministrazione:
#!/bin/bash
# $MW_HOME - The path to the MW_HOME
$MW_HOME/oracle_common/common/bin/wlst.sh <stop-admin-python script>
Per avviare il server di amministrazione, fornire lo script
startWebLogic.sh
come polling di gestione WebLogic per la porta per determinare se il server di amministrazione è stato avviato correttamente.Avvia server gestito:
# 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 per richiamare l'operazione di avvio/arresto del server gestito:
#!/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