private static void addQueues(RMServer server)
throws RemoteException, TransactionException
{
SGEQueue[] queues = null;
SGEQueue queue = null;
SGEExecHost execHost = null;
try {
queues = server.rm.retreiveAllQueues();
} catch(NativeSGEException e){
System.out.println("--RMServer--: Failed to retreive queues from RMS");
return;
}
for(int i = 0; i < queues.length; i++) {
queue = null;
queue = queues[i];
execHost = null;
execHost = queue.getExecHost();
// Add queue-specific JobRepository listeners
if(server.space != null) {
server.controlEntry = server.space.snapshot
(new JobControlEntry(JobAction.QUEUE, queue.getName()));
server.killAction = server.space.snapshot
(new JobControlEntry(JobAction.KILL, queue.getName()));
server.leaseList.add(server.space.notify(server.controlEntry, null,
server.creatorListener,
Lease.FOREVER, null).getLease());
server.leaseList.add(server.space.notify(server.killAction, null,
server.destroyListener,
Lease.FOREVER, null).getLease());
}
try {
Entry[] attrQueue = {
new Name(queue.getName()),
new QueueInfo(queue.getName(),
new QueueStatus(queue.getState()),
new Boolean(queue.isInteractive()), // interactive
new Boolean(queue.isBatch()), // batch
Boolean.FALSE, // dedicated
server.rmsName),
new ComputeInfoEntry("N/A", // manufacturer
"N/A", // model
execHost.getArch(),
"N/A", // OS name
"N/A", // OS revision
"N/A", // OS arch
new Integer(execHost.getProcessors()),
new Integer(0)) // tiling factor
};
server.createQueueService(queue.getName(), attrQueue);
} catch(IOException nce){
System.out.println("--RMServer--: Failed adding \""+queue.getName()+"\" queue");
// nce.printStackTrace();
}
}
}