Providence Core : Client
Code for handling client side of client-server communication. It contains the actual client handlers. It should only require the google-http-client library and otherwise rely on the same dependencies as core providence.
Simple HTTP Client
It should be minimal work setting up a thrift HTTP servlet. See the Core : Server
module of the providence project for that. To use the providence client
toward the HTTP servlet you can set up as this:
public class Something {
public void doSomething() {
// Setting up a reusable providence client.
GenericUrl url = new GenericUrl("http://my.domain.com/thrift");
HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory();
MyService.IFace service = new MyService.Client(
new HttpClientHandler(() -> url,
requestFactory,
new DefaultSerializerProvider()));
// The client can be used both in parallel and one at a time. It will internally
// handle sequence incrementing etc.
MyResponse response = service.doSomething(MyRequest.builder()
.setArgumet("an argument")
.build());
}
}
Other types of clients
Note that there are more compatibility clients available in the Utils : Thrift Bridge
module that enable you to interface against pure binary thrift servers provided by
the Apache Thrift codebase.