#################################################################### # Starts all servers and node agents within the cell. #################################################################### proc startServers { } { global AdminConfig global AdminControl # display procedure arguments. set procName [ lindex [ info level 0 ] 0 ] putsLog "## proc - $procName" foreach i [ info args $procName ] { upvar 0 $i ilocal set propertiesArray($i) $ilocal } putsLog "procedure arguments are................." foreach { a b } [ array get propertiesArray ] { putsLog [ format "%-35s %s" "$a" "$b" ] } set cellName [ $AdminControl getCell ] # get a list of the application servers. foreach i [ $AdminConfig list Server ] { lappend serverNameList [ $AdminConfig showAttribute $i name ] } putsLog "installed servers are .............." foreach i $serverNameList { putsLog [ format "%-5s %-15s " " " $i ] } # get a list of the running servers foreach i [ $AdminControl queryNames type=Server,* ] { lappend runningServerList [ list [ $AdminControl getAttribute $i name ] [ $AdminControl getAttribute $i processType ] ] } # display the running servers putsLog "running servers are .............." foreach i $runningServerList { putsLog [ format "%-5s %-15s %-15s" " " [ lindex $i 0 ] [ lindex $i 1 ] ] } # list the servers by category. foreach i $runningServerList { if { [ lindex $i 1 ] == "ManagedProcess" } { lappend jvmList [ lindex $i 0 ] } if { [ lindex $i 1 ] == "NodeAgent" } { lappend nodeAgentList [ lindex $i 0 ] } if { [ lindex $i 1 ] == "DeploymentManager" } { lappend dmList [ lindex $i 0 ] } } # extract the running servers from the list # lsearch returns -1 if there is no match # ix contains server name foreach i $runningServerList { if { [ set ix [ lsearch $serverNameList [ lindex $i 0 ] ] ] == -1 } { # break to next iteration of loop continue } set serverNameList [ lreplace $serverNameList $ix $ix ] } # The deployment manager is already started. # The node agent needs to be started. # start the application servers. foreach i $serverNameList { set serverId [ $AdminConfig getid /Server:$i/ ] regexp {(.*nodes\/)(.*)(\/servers.*)} $serverId a b c d set nodeId [ $AdminConfig getid /Node:$c/ ] #if { [ $AdminConfig getObjectName $nodeId ] == {} } { # # putsLog "ERROR: Node $c is not running" # # break to next iteration of loop # continue #} putsLog "starting server : $i ................." if { [ catch { $AdminControl startServer [ lindex $i 0 ] $c } r ] == 0 } { putsLog "[ string range $r [ string first WAS $r ] end ]" } else { putsLog "[ string range $r [ string first WAS $r ] end ]" putsLog $r return -code error $r } } }