|
Brooklyn | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbrooklyn.entity.rebind.PeriodicDeltaChangeListener
public class PeriodicDeltaChangeListener
A "simple" implementation that periodically persists all entities/locations/policies that have changed since the last periodic persistence. TODO A better implementation would look at a per-entity basis. When the entity was modified, then schedule a write for that entity in X milliseconds time (if not already scheduled). That would prevent hammering the persister when a bunch of entity attributes change (e.g. when the entity has just polled over JMX/http/etc). Such a scheduled-write approach would be similar to the Nagle buffering algorithm in TCP (see tcp_nodelay).
Method Summary | |
---|---|
java.lang.Object
|
PeriodicDeltaChangeListener(ExecutionManager executionManager, BrooklynMementoPersister persister, long periodMillis)
|
void
|
onChanged(Entity entity)
|
void
|
onChanged(Location location)
|
void
|
onChanged(Policy policy)
|
void
|
onManaged(Entity entity)
|
void
|
onManaged(Location location)
|
void
|
onUnmanaged(Entity entity)
|
void
|
onUnmanaged(Location location)
|
void
|
waitForPendingComplete(long timeout, java.util.concurrent.TimeUnit unit)
This method must only be used for testing. |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Method Detail |
---|
public java.lang.Object PeriodicDeltaChangeListener(ExecutionManager executionManager, BrooklynMementoPersister persister, long periodMillis)
@Override public void onChanged(Entity entity)
@Override public void onChanged(Location location)
@Override public void onChanged(Policy policy)
@Override public void onManaged(Entity entity)
@Override public void onManaged(Location location)
@Override public void onUnmanaged(Entity entity)
@Override public void onUnmanaged(Location location)
@VisibleForTesting public void waitForPendingComplete(long timeout, java.util.concurrent.TimeUnit unit)
Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.