storm-finagle-drpc-client
Storm DRPC Client which supports load balancing, retry, connection pooling, etc using Finagle Thrift.
Integration with Finagle Thrift
To integrate storm drpc client with finagle, finagle thrift compiler 0.5.0 (https://github.com/mariusaeriksen/thrift-0.5.0-finagle/) is used to generate storm thrift java classes.
The drpc part classes among the generated storm thrift classes reside in the pacakge 'storm.finagle.drpc.generated'.
Usage
String hosts = "storm02:3772,storm03:3772,storm04:3772";
long tcpConnectTimeout = 5000;
int tcpRetryCount = 2;
int hostConnectionLimit = 10;
StormDrpcClient stormDrpcClient = new StormDrpcClient(hosts,
tcpConnectTimeout,
tcpRetryCount,
hostConnectionLimit);
String result = stormDrpcClient.execute("electricPowerDrpc",
"11,26,27,28,29,30,31,41,42,43,44,45,46,47,48,50");
System.out.println("drpc result: [" + result + "]");