18.6. Inventory and Status Information: status.js
これは、グループ内のすべての JBoss インスタンスの現在の状態を出力する簡単なスクリプトです。
他のスクリプトと同様に、グループ情報を設定します。
function usage() {
println("Usage: status groupName");
throw "Illegal arguments";
}
if( args.length < 1 ) usage();
var groupName = args[0];
groupcriteria = new ResourceGroupCriteria();
groupcriteria.addFilterName(groupName);
var groups = ResourceGroupManager.findResourceGroupsByCriteria(groupcriteria);
if( groups != null ) {
if( groups.size() > 1 ) {
println("Found more than one group.");
}
else if( groups.size() == 1 ) {
group = groups.get(0);
}
}
グループを基にして、リソースを検索する情報も追加します。
criteria = new ResourceCriteria();
var groupArray= new Array();
groupArray[0]=group.id;
criteria.addFilterExplicitGroupIds(groupArray);
var resources = ResourceManager.findResourcesByCriteria(criteria);
for( i =0; i < resources.size(); ++i) {
var resource = resources.get(i);
println(" found " + resource.name );
}
次に、リソースを使用して実行し、その可用性を出力します。
var server = ProxyFactory.getResource(resource.id);
var avail = AvailabilityManager.getCurrentAvailabilityForResource(server.id);
println(" " + server.name );
println(" - Availability: " + avail.availabilityType.getName());
println(" - Started : " + avail.startTime.toGMTString());
println("");
var avail = AvailabilityManager.getCurrentAvailabilityForResource(server.id);
if( avail.availabilityType.toString() == "DOWN" ) {
println(" Server is DOWN. Please first start the server and run this script again!");
println("");
}
スクリプトの実行時には、サーバーの可用性と最終開始時間を出力します。
[jsmith@server cli]$ ./wrapper.sh status myGroup
Remote server version is: 3.0.1.GA (b2cb23b:859b914)
Login successful
found AS server.example.com JBossAS App 1
AS server.example.com JBossAS App 1
- Availability: UP
- Started : 11 Feb 2012 04:07:37 GMT