lineSeparator = java.lang.System.getProperty('line.separator')
clusterName='CLUSTER_NAME'
cId = AdminConfig.getid("/ServerCluster:"+ clusterName +"/" )
cList = AdminConfig.list("ClusterMember", cId ).split(lineSeparator)
for sId in cList:
 server = AdminConfig.showAttribute(sId, "memberName" )
 node = AdminConfig.showAttribute(sId, "nodeName" )
 cell = AdminControl.getCell()
 s1 = AdminControl.completeObjectName('cell='+ cell +',node='+node +',name='+ server +',type=Server,*')
 if len(s1) > 0:
  print server + " state is started"
 else:
  print server + " is down"
 print "Server "  + server + " has the following Listener Ports"
 lPorts = AdminControl.queryNames('type=ListenerPort,cell='+ cell+',node='+ node +',process='+ server +',*')
 lPortsArray = lPorts.split(lineSeparator)
 for lPort in lPortsArray:
  lpcfgId  = AdminControl.getConfigId(lPort)
  lpName   = AdminConfig.showAttribute(lpcfgId, "name")
  lpstate = AdminControl.getAttribute(lPort, 'started')
  if lpstate == 'true':
    print lpName  + " is started "
  else :
    print lpName + " is stopped "
 print ""
JACL script to check status of one msg listener for a cluster and to start the msg listener in-case it is in stopped state...
ReplyDeleteputs ""
puts "================================="
puts ""
set cellname
set cluname
set msglstnrname
set clusterObject [$AdminConfig getid /Cell:$cellname/ServerCluster:$cluname/]
set memberlist [$AdminConfig showAttribute $clusterObject members]
set members [lindex $memberlist 0]
puts "Cluster $cluname has [llength $members] members"
foreach member $members {
set memname [$AdminConfig showAttribute $member memberName]
set memnode [$AdminConfig showAttribute $member nodeName]
set memberObject [$AdminControl completeObjectName name=$memname,type=Server,cell=$cellname,node=$memnode,process=$memname*]
set memberObject [$AdminControl completeObjectName type=Server,name=$memname,*]
if {[llength $memberObject] > 0} {
set memstatus [$AdminControl getAttribute $memberObject state]
set memstatus [$AdminControl getAttribute $memberObject state]
puts ""
puts "AppServer $memname on $memnode: is already $memstatus"
set msglstnrobj [$AdminControl completeObjectName name=$msglstnrname,type=ListenerPort,cell=$cellname,node=$memnode,process=$memname,*]
set msglstnrstatus1 [$AdminControl getAttribute $msglstnrobj started]
if {$msglstnrstatus1 == "true"} {
puts "Message Listener Status: $msglstnrname on $memname is already started"
} else {
puts "Message Listener Status: $msglstnrname on $memname is stopped ... starting"
$AdminControl invoke $msglstnrobj start
after 10000
set msglstnrstatus2 [$AdminControl getAttribute $msglstnrobj started]
if {$msglstnrstatus2 == "true"} {
puts "Message Listener Status: $msglstnrname on $memname is started"
} else {
puts "Message Listener Status: Tried to start $msglstnrname on $memname, NOT STARTED"
}
}
} else {
puts ""
puts "AppServer $memname on $memnode: is either STOPPED/STARTING"
}
}