e.printStackTrace();
}
transport.close();
}
public static void main_asy() throws Exception {
try {
TAsyncClientManager clientManager = new TAsyncClientManager();
TNonblockingTransport transport = new TNonblockingSocket(address, port, clientTimeout);
TProtocolFactory protocol = new TCompactProtocol.Factory();
Hello.AsyncClient asyncClient = new Hello.AsyncClient(protocol, clientManager, transport);
System.out.println("Client calls .....");
MyCallback callBack = new MyCallback();
asyncClient.helloString("larry", callBack);
while (true) {
Thread.sleep(1);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
main_asy();
}
}
client使用到的回调函数:
[java]
package com.thrift.test.Async;
import org.apache.thrift.async.AsyncMethodCallback;
import com.thrift.test.Async.Hello.AsyncClient.helloString_call;
/**
* */
public class MyCallback implements AsyncMethodCallback
// 返回结果
@Override
public void onComplete(helloString_call response) {
System.out.println("onComplete");
try {
System.out.println(response.getResult().toString());
} catch (TException e) {
e.printStackTrace();
}
}
// 返回异常
@Override
public void onError(Exception exception) {
System.out.println("onError");
}
}
作者:吕桂强