Implementing Command Handlers
Overview
@Command(name = "resetOrderStats",
description="Resets the number of orders processed")
public String resetOrderStats(@Option(shortForm = 'v', longForm="verbose", defaultValue="false")
boolean verbose,
@Argument(name = "newOrderReceivedCount"), position=1)
long newNumOrdersReceived,
@Argument(name = "newOrderProcessingCount", position=2)
long newNumOrdersProcessed) { ... }Annotating Command methods
@App
public void MyApp {
@AppStat(name = "Orders Processed")
private volatile long numOrdersProcessed = 0;
/**
* Resets the number of orders processed
*
* @param newNumOrdersProcessed The new number of orders processed
* @return The previous number of orders
*/
@Command
public int resetOrdersProcessed(long newNumOrdersProcessed,
boolean verbose) {
long prevNumOrdersProcessed = numOrdersProcessed;
numOrdersProcessed = numOrdersProcessed;
String result = "Reset Orders Processed: " + prevNumOrdersProcessed + "->" + numOrdersProcessed;
if(verbose) {
System.out.println(result);
}
return result;
}
/**
* Handles a new order.
*/
@EventHandler
public final void onOrder(NewOrderMessage newOrder) {
numOrdersReceived++;
// ... do some processing
numOrdersProcessed++
}
}@Command
Parameter
Type
Description
Default
@Argument
Parameter
Type
Description
Default
@Option
Parameter
Type
Description
Default
Supported Types for Options, Arguments And Return values:
Registering Command Handlers with the runtime.
@AppCommandHandlerContainersAccessor
Configuration Discovery in Hornet
Invoking Annotated Commands
Examples / Appendix
A Fully Annotated Command
Usage as Printed By SrvMonUtil
Json Command Description:
Related Topics
Next Steps
Last updated

