import com.twitter.finagle.Thrift; import com.twitter.util.Future; import com.example.myapp.HelloWorld; import com.example.myapp.HelloRequest; import com.example.myapp.HelloResponse; public class MyServer { public static void main(String[] args) { HelloWorld.ServiceIface myService = new HelloWorld.ServiceIface() { @Override public Future<HelloResponse> sayHello(HelloRequest request) { String message = "Hello, " + request.getName() + "!"; HelloResponse response = new HelloResponse(message); return Future.value(response); } }; Thrift.serveIface("localhost:9090", myService); } } import com.twitter.finagle.Thrift; import com.twitter.util.Function; import com.example.myapp.HelloWorld; import com.example.myapp.HelloRequest; import com.example.myapp.HelloResponse; public class MyClient { public static void main(String[] args) { HelloWorld.ServiceIface myService = Thrift.client() .newIface("localhost:9090", HelloWorld.ServiceIface.class); HelloRequest request = new HelloRequest("John"); myService.sayHello(request).addEventListener(new Function<Try<HelloResponse>, BoxedUnit>() { @Override public BoxedUnit apply(Try<HelloResponse> responseTry) { if (responseTry.isSuccess()) { HelloResponse response = responseTry.get(); System.out.println(response.getMessage()); } else { System.out.println("Failed to get response: " + responseTry.cause()); } return BoxedUnit.UNIT; } }); } }


上一篇:
下一篇:
切换中文