public class FunctionFeed extends AbstractFeed
 private FunctionFeed feed;
 
 //@Override
 protected void connectSensors() {
   super.connectSensors();
   
   feed = FunctionFeed.builder()
     .entity(this)
     .poll(new FunctionPollConfig<Object, Boolean>(SERVICE_UP)
         .period(500, TimeUnit.MILLISECONDS)
         .callable(new Callable<Boolean>() {
             public Boolean call() throws Exception {
               return getDriver().isRunning();
             }
         })
         .onExceptionOrFailure(Functions.constant(Boolan.FALSE))
     .build();
 }
 
 {@literal @}Override
 protected void disconnectSensors() {
   super.disconnectSensors();
   if (feed != null) feed.stop();
 }
 
 | Modifier and Type | Class and Description | 
|---|---|
| static class  | FunctionFeed.Builder | 
BrooklynObject.TagSupport| Modifier and Type | Field and Description | 
|---|---|
| static ConfigKey<com.google.common.collect.SetMultimap<brooklyn.event.feed.function.FunctionFeed.FunctionPollIdentifier,FunctionPollConfig<?,?>>> | POLLS | 
ONLY_IF_SERVICE_UP| Constructor and Description | 
|---|
| FunctionFeed()For rebind; do not call directly; use builder | 
| Modifier and Type | Method and Description | 
|---|---|
| static FunctionFeed.Builder | builder() | 
destroy, getEntity, getRebindSupport, isActivated, isActive, isRunning, isSuspended, resume, setEntity, start, stop, suspendconfigure, getAllConfig, getConfig, getConfigMap, getDisplayName, getName, getUniqueTag, isDestroyed, setConfig, setDisplayName, setName, tags, toStringgetCatalogItemId, getId, getManagementContext, getTagSupport, init, rebind, setCatalogItemId, setManagementContextequals, getClass, hashCode, notify, notifyAll, wait, wait, waitgetId, getName, getUniqueTag, isDestroyedgetCatalogItemId, getDisplayName, getTagSupport, tagssetCatalogItemIdpublic static final ConfigKey<com.google.common.collect.SetMultimap<brooklyn.event.feed.function.FunctionFeed.FunctionPollIdentifier,FunctionPollConfig<?,?>>> POLLS
public static FunctionFeed.Builder builder()