Brooklyn

brooklyn.event.feed.http
[Java] Class HttpFeed

java.lang.Object
  brooklyn.event.feed.AbstractFeed
      brooklyn.event.feed.http.HttpFeed

public class HttpFeed
extends AbstractFeed

Provides a feed of attribute values, by polling over http. Example usage (e.g. in an entity that extends SoftwareProcessImpl):

 private HttpFeed feed;
 
 //@Override
 protected void connectSensors() {
   super.connectSensors();
   
   feed = HttpFeed.builder()
       .entity(this)
       .period(200)
       .baseUri(String.format("http://%s:%s/management/subsystem/web/connector/http/read-resource", host, port))
       .baseUriVars(ImmutableMap.of("include-runtime","true"))
       .poll(new HttpPollConfig(SERVICE_UP)
           .onSuccess(HttpValueFunctions.responseCodeEquals(200))
           .onError(Functions.constant(false)))
       .poll(new HttpPollConfig(REQUEST_COUNT)
           .onSuccess(HttpValueFunctions.jsonContents("requestCount", Integer.class)))
       .build();
 
 
 {
literal:
@}Override protected void disconnectSensors() { super.disconnectSensors(); if (feed != null) feed.stop(); } }

This also supports giving a Supplier for the URL (e.g. Entities.attributeSupplier) from a sensor. Note however that if a Supplier-based sensor is *https*, https-specific initialization may not occur if the URL is not available at start time, and it may report errors if that sensor is not available. Some guidance for controlling enablement of a feed based on availability of a sensor can be seen in HttpLatencyDetector (in brooklyn-policy).

Authors:
aled


Nested Class Summary
static class HttpFeed.Builder

 
Field Summary
static Logger log

 
Fields inherited from class AbstractFeed
entity, poller
 
Method Summary
protected java.lang.Object HttpFeed(HttpFeed.Builder builder)

static HttpFeed.Builder builder()

protected void preStart()

 
Methods inherited from class AbstractFeed
getEntity, isActivated, isActive, isConnected, postStop, preStart, preStop, resume, start, stop, suspend
 

Field Detail

log

public static final Logger log


 
Method Detail

HttpFeed

protected java.lang.Object HttpFeed(HttpFeed.Builder builder)


builder

public static HttpFeed.Builder builder()


preStart

@Override
protected void preStart()


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.