首先还是需要libthrift-java的包,还是去上上篇提到的地址那里去下载。
然后运行
thrift --gen java hello.thrift
这样就生成了gen-java的文件夹,里面就是thrift给我们生成好的文件。(Hello.java)
然后我们进入gen-java的目录,写一个客户端文件:
HelloClient.java
import org.apache.thrift.TException;
import org.apache.thrift.transport.TTransport;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransportException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
public class HelloClient{
public static void main(String [] args){
try{
TTransport transport = new TSocket("localhost", 9090);
TProtocol protocol = new TBinaryProtocol(transport);
Hello.Client client = new Hello.Client(protocol);
transport.open();
String result = client.say("world");
System.out.println(result);
transport.close();
}
catch(TException ex){
ex.printStackTrace();
}
}
}
配写一个方便的Makefile:
LIB_PATH=/usr/share/java/libthrift.jar
all:
javac -cp ./:${LIB_PATH} HelloClient.java
run:
java -cp ./:${LIB_PATH} HelloClient
clean:
rm *.class
make之前别忘了先启动服务器端,我们使用上次erlang版本的Server:
erl> hello_server:start()
然后执行我们的这个客户端:
make
make run
可以看到java版的这个也正常输出了Hello, world
没有评论:
发表评论