import com.twitter.finagle.Service;
import com.twitter.finagle.builder.ServerBuilder;
public class Server {
public static void main(String[] args) throws InterruptedException {
Service<String, String> service = (request) -> Service.mk((responsePromise) -> {
responsePromise.setValue("Hello, " + request + "!");
});
ServerBuilder.safeBuild(service, ServerBuilder.listenLocal(), "myService");
Thread.currentThread().join();
}
}
import com.twitter.finagle.Service;
import com.twitter.finagle.builder.ClientBuilder;
import com.twitter.util.Future;
public class Client {
public static void main(String[] args) throws InterruptedException {
Service<String, String> client = ClientBuilder.safeBuild(ClientBuilder.get(),
ClientBuilder.cc().hostConnectionLimit(1).hostPorts("localhost:8080"));
Future<String> response = client.apply("World");
response.onSuccess((result) -> {
System.out.println("Response: " + result);
});
client.close();
}
}
myService {
loadbalancer = {
type = "round-robin"
}
retries = 3
connectionPool = {
maxConnections = 100
maxPendingRequests = 10
}
}