この例は、WebSphere Application Server V4.0 および V6.x で稼働中のサーバーを PING する方法を示しています。
このタスクの目的は、サーバーが稼働中であるかどうかを判別することです。 以下の例を使用してください。
set servers [ApplicationServer list] foreach server $servers { set result ApplicationServer show $server -attribute {CurrentState} puts "state for server $server: $result" }
WebSphere Application Server V6.x では、 構成と制御コマンドは分離しています。
set servers [$AdminConfig list Server] foreach server $servers { set objName [$AdminConfig getObjectName $server] if {[llength $objName] == 0} { puts "server $server is not running" } else { set result [$AdminControl getAttribute $objName state] puts "state for server $server: $result" } }
# get line separator import java.lang.System as sys lineSeparator = sys.getProperty('line.separator') servers = AdminConfig.list('Server').split(lineSeparator) for server in servers: objName = AdminConfig.getObjectName(server).split(lineSeparator) if len(objName) == 0: print "server " + server + " is not running¥n" else: result = AdminControl.getAttribute(objName, 'state') print "state for server " + server + ": " + result + "¥n"
この例の最初の行は、構成で定義されたすべてのサーバーのリストを取得します。 このデータを調べて稼働中のサーバーを判別することができます。 サーバーが稼働していない場合は、 AdminConfig オブジェクトの getObjectName コマンドからは、何も戻されません。 サーバーが稼働している場合は、その state 属性を求めます。 Mbean が存在している場合は、サーバーが稼働中であり、その状態は STARTED です。 ただし、その状態は STARTED ではなく STOPPING などの場合もあります。