Class LoadBalancer
java.lang.Object
desmoj.core.simulator.NamedObject
desmoj.core.simulator.ModelComponent
desmoj.core.simulator.Schedulable
desmoj.core.simulator.Entity
de.rss.fachstudie.MiSim.entities.patterns.LoadBalancer
public final class LoadBalancer
extends desmoj.core.simulator.Entity
Wrapper Class for
LoadBalancingStrategy to encapsulate common behavior around it. E.g. capture last chosen
MicroserviceInstance or distribution of messages- Author:
- Lion Wagner
-
Field Summary
Fields inherited from class desmoj.core.simulator.Schedulable
_schedule -
Constructor Summary
Constructors Constructor Description LoadBalancer(desmoj.core.simulator.Model model, String name, boolean showInTrace, Collection<MicroserviceInstance> instances) -
Method Summary
Modifier and Type Method Description MicroserviceInstancegetLastChosenInstance()MicroserviceInstancegetNextInstance()voidsetLoadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)Methods inherited from class desmoj.core.simulator.Entity
clone, generateTraceForScheduling, getIdentNumber, getQueueingPriority, getQueues, getScheduledEvents, isEqual, isLarger, isLargerOrEqual, isNotEqual, isQueued, isSimProcess, isSmaller, isSmallerOrEqual, schedule, schedule, schedule, schedule, schedule, schedule, schedule, schedule, schedule, scheduleAfter, scheduleAfter, scheduleAfter, scheduleBefore, scheduleBefore, scheduleBefore, schedulePreempt, schedulePreempt, schedulePreempt, setQueueingPriorityMethods inherited from class desmoj.core.simulator.Schedulable
assignReporter, cancel, getCorrespondingReportable, isCurrent, isScheduled, rename, reSchedule, reSchedule, reSchedulePreempt, scheduledNext, setCorrespondingReportableMethods inherited from class desmoj.core.simulator.ModelComponent
current, currentEntity, currentEntityAll, currentEvent, currentlySendDebugNotes, currentlySendTraceNotes, currentModel, currentSimProcess, debugIsOn, debugOff, debugOn, getModel, isExperimentCompatible, isModelCompatible, presentTime, sendDebugNote, sendMessage, sendTraceNote, sendWarning, skipTraceNote, skipTraceNote, traceIsOn, traceOff, traceOnMethods inherited from class desmoj.core.simulator.NamedObject
getName, getQuotedName, toString
-
Constructor Details
-
LoadBalancer
public LoadBalancer(desmoj.core.simulator.Model model, String name, boolean showInTrace, Collection<MicroserviceInstance> instances)
-
-
Method Details
-
getNextInstance
- Throws:
NoInstanceAvailableException
-
setLoadBalancingStrategy
-
getLastChosenInstance
-