Utilice la herramienta wsadmin y scripts para listar todas las aplicaciones en ejecución
de todos los servidores en ejecución.
Antes de empezar
Antes de iniciar esta tarea, la
herramienta wsadmin debe estar ejecutándose. Consulte el tema sobre cómo iniciar el cliente de scripts wsadmin mediante scripts wsadmin para obtener más
información.
Acerca de esta tarea
En el ejemplo siguiente se enumeran todas las aplicaciones en ejecución en todos los
servidores que están ejecutándose en todos los nodos de todas las células.
Procedimiento
- Utilizando
Jacl:
* Proporcione este ejemplo como un archivo de scripts Jacl y ejecútelo con la opción "-f":
1 #----------------------------------------------------------------
2 # las líneas 4 y 5 buscan todas las células y las procesan una a una
3 #----------------------------------------------------------------
4 set cells [$AdminConfig list Cell]
5 foreach cell $cells {
6 #-----------------------------------------------------------------------
7 # las líneas 10 y 11 buscan todos los nodos que pertenecen a la célula y
8 # los procesan a la vez
9 #-----------------------------------------------------------------------
10 set nodes [$AdminConfig list Node $cell]
11 foreach node $nodes {
12 #--------------------------------------------------------------
13 # las líneas 16-20 buscan todos los servidores en ejecución que pertenecen a la célula
14 # y el nodo y los procesan uno a uno
15 #--------------------------------------------------------------
16 set cname [$AdminConfig showAttribute $cell name]
17 set nname [$AdminConfig showAttribute $node name]
18 set servs [$AdminControl queryNames type=Server,cell=$cname,node=$nname,*]
19 puts "Número de servidores en ejecución en el nodo $nname: [llength $servs]"
20 foreach server $servs {
21 #---------------------------------------------------------
22 # las líneas 25-31 obtienen algunos atributos del servidor para mostrarlos;
23 # invocan una operación en el servidor JVM para mostrar una propiedad.
24 #---------------------------------------------------------
25 set sname [$AdminControl getAttribute $server name]
26 set ptype [$AdminControl getAttribute $server processType]
27 set pid [$AdminControl getAttribute $server pid]
28 set state [$AdminControl getAttribute $server state]
29 set jvm [$AdminControl queryNames type=JVM,cell=$cname,
node=$nname,process=$sname,*]
30 set osname [$AdminControl invoke $jvm getProperty os.name]
31 puts " $sname ($ptype) tiene pid $pid; estado: $state; en $osname"
32
j3 #---------------------------------------------------------
34 # las líneas 37-42 buscan las aplicaciones en ejecución en este servidor y
35 # muestran el nombre de la aplicación.
35 #---------------------------------------------------------
37 set apps [$AdminControl queryNames type=Application,
cell=$cname,node=$nname,process=$sname,*]
38 puts " Número de aplicaciones en ejecución en $sname: [llength $apps]"
39 foreach app $apps {
40 set aname [$AdminControl getAttribute $app name]
41 puts " $aname"
42 }
43 puts "----------------------------------------------------"
44 puts ""
45
46 }
47 }
48 }
- Utilizando Jython:
* Proporcione este ejemplo como un archivo de scripts Jython y ejecútelo con la opción "-f":
# ------------------------------------------------------
# get line separator
import java.lang.System as sys
lineSeparator = sys.getProperty('line.separator')
cells = AdminConfig.list('Cell').split()
for cell in cells:
#----------------------------------------------------------------
# líneas 13 y 14 encuentre todos los nodos que pertenecen a la celda y
# procéselos uno a uno
#-----------------------------------------------------------------
nodes = AdminConfig.list('Node', cell).split()
for node in nodes:
#--------------------------------------------------------------
# líneas 19-23 encuentran todos los servidores en ejecución que pertenecen a la célula
# y nodo y los procesa uno a uno
#--------------------------------------------------------------
cname = AdminConfig.showAttribute(cell, 'name')
nname = AdminConfig.showAttribute(node, 'name')
servs = AdminControl.queryNames('type=Server,cell=' + cname +
',node=' + nname + ',*').split()
print "Número de servidores en ejecución en el nodo " + nname + ": %s \n" %
(len(servs))
for server in servs:
#---------------------------------------------------------
#líneas 28-34 obtienen algunos atributos del servidor para mostrarlos;
# invocan una operación en el servidor JVM para mostrar una propiedad.
#---------------------------------------------------------
sname = AdminControl.getAttribute(server, 'name')
ptype = AdminControl.getAttribute(server, 'processType')
pid = AdminControl.getAttribute(server, 'pid')
state = AdminControl.getAttribute(server, 'state')
jvm = AdminControl.queryNames('type=JVM,cell=' + cname +
',node=' + nname + ',process=' + sname + ',*')
osname = AdminControl.invoke(jvm, 'getProperty', 'os.name')
print " " + sname + " " + ptype + " has pid " + pid + ";
state: " + state + "; on " + osname + "\n"
#---------------------------------------------------------
# líneas 40-45 encuentran las aplicaciones en ejecución en este servidor y
# muestran el nombre de la aplicación.
#---------------------------------------------------------
apps = AdminControl.queryNames('type=Application,cell=' + cname
+ ',node=' + nname + ',process=' + sname + ',*').splitlines()
print "Número de aplicaciones en ejecución en " + sname + ": %s \n"
% (len(apps))
for app in apps:
aname = AdminControl.getAttribute(app, 'name')
print aname + "\n"
print "----------------------------------------------------"
print "\n"
Resultados
Resultado de ejemplo:
Número de servidores en ejecución en el nodo minodo: 2
minodo (NodeAgent) tiene pid 3592; estado: INICIADO; en Windows Vista
Número de aplicaciones en ejecución en minodo: 0
----------------------------------------------------
server1 (ManagedProcess) tiene pid 3972; estado: INICIADO; en Windows Vista
Número de aplicaciones en ejecución en server1: 0
----------------------------------------------------
Número de servidores en ejecución en el nodo mynodeManager: 1
dmgr (DeploymentManager) tiene pid 3308; estado: INICIADO; en Windows Vista
Número de aplicaciones en ejecución en dmgr: 2
adminconsole
filetransfer
----------------------------------------------------