@Override public void declareBehavior(GreenRuntime runtime) { runtime.addRestListener(new ExternalRequest(runtime, session, "/service", HANDOFF_TOPIC)) .includeRoutesByAssoc(Struct.PROXY_ROUTE); runtime.addPubSubListener(new ExternalResponse(runtime)) .acceptHostResponses(session) .addSubscription(HANDOFF_TOPIC); runtime.addRestListener(new InternalService(runtime)) .includeRoutesByAssoc(Struct.SERIVCE_ROUTE); }
@Override public void declareBehavior(GreenRuntime runtime) { ProductsBehavior listener = new ProductsBehavior(runtime, maxProductId, BEGIN_TOPIC, server); runtime.registerListener(listener) .includeRoutes(Struct.PRODUCT_UPDATE, listener::productUpdate) .includeRoutes(Struct.ALL_PRODUCTS, listener::productAll) .includeRoutes(Struct.PRODUCT_QUERY, listener::productQuery); int threads = 40; runtime.registerBlockingListener(new BlockingProducer(dbURL), Field.CONNECTION, threads, BEGIN_TOPIC, FINISHED_TOPIC); runtime.addPubSubListener(new RestResponder(runtime)).addSubscription(FINISHED_TOPIC); runtime.addResourceServer("/site","index.html").includeRoutesByAssoc(Struct.STATIC_PAGES); }
@Override public void declareBehavior(final GreenRuntime runtime) { runtime.registerListener(new ShutdownBehavior(runtime, keyFieldId)).includeAllRoutes(); }
public void declareParallelBehavior(GreenRuntime runtime) { final int track = trackId++; //System.out.println("declare track: "+track); TrackHTTPResponseListener responder = new TrackHTTPResponseListener(runtime, track); runtime.registerListener(RESPONDER_NAME, responder) .addSubscription(CALL_TOPIC, responder::callMessage) .acceptHostResponses(session[track]); }
@Override public void declareBehavior(GreenRuntime runtime) { runtime.addStartupListener(new KickoffBehavior(runtime, target)); runtime.addPubSubListener(new GenerateBehavior(runtime, "Count", target, seed)) .addSubscription("Next"); CountBehavior counter = new CountBehavior(runtime, "Next"); runtime.registerListener(counter) .addSubscription("Count", counter::triggerNextAndCount) .addSubscription("AnExample", counter::anotherMessage); }
.includeRoutesByAssoc(Struct.EMPTY_EXAMPLE); .includeRoutesByAssoc(Struct.SMALL_EXAMPLE); .includeRoutesByAssoc(Struct.LARGE_EXAMPLE); .includeRoutesByAssoc(Struct.SPLIT_EXAMPLE); .addSubscription(topic); .includeRoutesByAssoc(Struct.JSON_EXAMPLE);
public void parallelBehavior(GreenRuntime runtime) { SimpleRest restTest = new SimpleRest(runtime, jsonMaxResponseCount, jsonMaxResponseSize); runtime.registerListener("Simple", restTest) .includeRoutes(Struct.PLAINTEXT_ROUTE, restTest::plainRestRequest) .includeRoutes(Struct.JSON_ROUTE, restTest::jsonRestRequest); DBRest dbRestInstance = new DBRest(runtime, options, pipelineBits, dbCallMaxResponseCount, dbCallMaxResponseSize); runtime.registerListener("DBReadWrite", dbRestInstance) .includeRoutes(Struct.DB_SINGLE_ROUTE, dbRestInstance::singleRestRequest) .includeRoutes(Struct.DB_MULTI_ROUTE_TEXT, dbRestInstance::multiRestRequest) .includeRoutes(Struct.DB_MULTI_ROUTE_INT, dbRestInstance::multiRestRequest) .includeRoutes(Struct.UPDATES_ROUTE_TEXT, dbRestInstance::updateRestRequest) .includeRoutes(Struct.UPDATES_ROUTE_INT, dbRestInstance::updateRestRequest) .includeRoutes(Struct.FORTUNES_ROUTE, dbRestInstance::restFortuneRequest); }
@Override public void declareBehavior(GreenRuntime runtime) { HTTPGetBehaviorSingle temp = new HTTPGetBehaviorSingle(runtime, session1); runtime.addResponseListener(new HTTPResponse(console)).acceptHostResponses(session2); runtime.addStartupListener(new HTTPGetBehaviorChained(runtime, session2)); runtime.addStartupListener("startupBehavior",temp) .acceptHostResponses(session1) //this line is required to use JSON extraction even to self behavior as consumer .addSubscription("next"); runtime.addPubSubListener("shutdownBehavior",new ShutdownBehavior(runtime)).addSubscription("shutdown"); }
.addSubscription(internalIngressTopic, mqttBrokerListener::receiveMqttMessage); .addSubscription(localTestTopic, doTheBusiness::receiveTestTopic);
@Override public void declareBehavior(GreenRuntime runtime) { //in most cases the behavior need not be a local variable but we are using methods off the object //to respond to specific published topics. To do this the object is required. ProductsBehavior listener = new ProductsBehavior(runtime, maxProductId); runtime.registerListener(listener) .includeRoutes(Struct.PRODUCT_UPDATE, listener::productUpdate) .includeRoutes(Struct.ALL_PRODUCTS, listener::productAll) .includeRoutes(Struct.PRODUCT_QUERY, listener::productQuery); runtime.addResourceServer("/site","index.html").includeRoutesByAssoc(Struct.STATIC_PAGES); } }
.addSubscription(topicToBlockingTask); ((ReactiveListenerStage)balanceWork).addOutputPronghornPipes(toBlockingWork);
@Override public void declareBehavior(GreenRuntime runtime) { //runtime.addRestListener(new RestBehaviorEmptyResponse(runtime, "myarg", console)) // .includeRoutes(emptyResponseRouteId); runtime.addRestListener(new RestBehaviorSmallResponse(runtime, console)) .includeRoutes(smallResponseRouteId); // runtime.addRestListener(new RestBehaviorLargeResponse(runtime, console)) // .includeRoutes(largeResponseRouteId); // runtime.addRestListener(new RestBehaviorHandoff(runtime, "responder")) // .includeRoutes(splitResponseRouteId); //runtime.addPubSubListener(new RestBehaviorHandoffResponder(runtime, console)) // .addSubscription("responder"); //splitResponseRouteId runtime.addRestListener(new ShutdownRestListener(runtime, keyFieldId)) .includeRoutes(shutdownRouteId); //NOTE .includeAllRoutes() can be used to write a behavior taking all routes }
registerListener.addSubscription(internalTopicsXmit[i]);