package org.act.tstream.schedule.default_assign.Selector; import org.act.tstream.schedule.default_assign.ResourceWorkerSlot; import org.act.tstream.schedule.default_assign.TaskGankerContext; public class TotalTaskNumSelector extends AbstractSelector { public TotalTaskNumSelector(final TaskGankerContext context) { super(context); // TODO Auto-generated constructor stub this.workerComparator = new WorkerComparator() { @Override public int compare(ResourceWorkerSlot o1, ResourceWorkerSlot o2) { // TODO Auto-generated method stub int o1Num = context.getTaskNumOnWorker(o1); int o2Num = context.getTaskNumOnWorker(o2); if (o1Num == o2Num) return 0; return o1Num > o2Num ? 1 : -1; } }; this.supervisorComparator = new WorkerComparator() { @Override public int compare(ResourceWorkerSlot o1, ResourceWorkerSlot o2) { // TODO Auto-generated method stub int o1Num = context.getTaskNumOnSupervisor(o1.getNodeId()); int o2Num = context.getTaskNumOnSupervisor(o2.getNodeId()); if (o1Num == o2Num) return 0; return o1Num > o2Num ? 1 : -1; } }; } }