| 
 | 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)
// (e.g. AbstractController registering a AbstractMembershipTrackingPolicy) public void onChanged(Entity entity)
public void onChanged(Location location)
public void onChanged(Policy policy)
} public void onManaged(Entity entity)
public void onManaged(Location location)
deltaCollector.locations.add(location); public void onUnmanaged(Entity entity)
} public void onUnmanaged(Location location)
// Every time we finish writing, we increment a counter. We note the current val, and then public void waitForPendingComplete(long timeout, java.util.concurrent.TimeUnit unit)
Brooklyn Multi-Cloud Application Management Platform 
 brooklyncentral.github.com. Apache License. © 2012.