Class Sweeper
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.thread.Sweeper
A utility class to perform periodic sweeping of resources.
Sweeper.Sweepable resources may be added to or removed from a
Sweeper and the resource implementation decides whether
it should be swept or not.
If a Sweeper.Sweepable resources is itself a container of
other sweepable resources, it will forward the sweep operation
to children resources, and so on recursively.
Typical usage is to add Sweeper as a bean to an existing
container:
Server server = new Server(); server.addBean(new Sweeper(), true); server.start();Code that knows it has sweepable resources can then lookup the
Sweeper and offer the sweepable resources to it:
class MyComponent implements Sweeper.Sweepable
{
private final long creation;
private volatile destroyed;
MyComponent(Server server)
{
this.creation = System.nanoTime();
Sweeper sweeper = server.getBean(Sweeper.class);
sweeper.offer(this);
}
void destroy()
{
destroyed = true;
}
@Override
public boolean sweep()
{
return destroyed;
}
}
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceASweeper.Sweepableresource implements this interface to signal to aSweeperor to a parent container if it needs to be swept or not.Nested classes/interfaces inherited from class AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface LifeCycle
LifeCycle.Listener -
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoStart()Method to override to start the lifecycleprotected voiddoStop()Method to override to stop the lifecycleintgetSize()booleanoffer(Sweeper.Sweepable sweepable) booleanremove(Sweeper.Sweepable sweepable) voidrun()Methods inherited from class AbstractLifeCycle
addEventListener, getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, setEventListeners, start, stop, toString
-
Constructor Details
-
Sweeper
-
-
Method Details
-
doStart
Description copied from class:AbstractLifeCycleMethod to override to start the lifecycle- Overrides:
doStartin classAbstractLifeCycle- Throws:
Exception- If there was a problem starting. Will cause a transition to FAILED state
-
doStop
Description copied from class:AbstractLifeCycleMethod to override to stop the lifecycle- Overrides:
doStopin classAbstractLifeCycle- Throws:
Exception- If there was a problem stopping. Will cause a transition to FAILED state
-
getSize
public int getSize() -
offer
-
remove
-
run
-