Java通过thrift调用Python服务

重新使用thrift-0.11,发现有点遗忘了,所以稍微整理一下。本文只提几个关键点,其它步骤有很多好的博客可以参考。

目标:Python作为服务端,Java作为客户端。

1、安装thrift

2、新建一个存放Python服务代码的文件夹pythonserver,在其中新建.thrift文件,定义数据结构。执行:

thrift -r --gen py 文件名.thrift
thrift -r --gen java 文件名.thrift

会生成gen-py和gen-java两个文件夹。把gen-py修改成gen_py

3、重点:源代码的目录thrift-0.11.0/lib/py/build/lib.macosx-10.7-x86_64-3.6下有个文件夹thrift,把这个thrift文件夹放到pythonserver所在的文件夹。解释:因为编写Python服务端代码时,需要引用其中的一些类。gen_py中自动生成的代码也涉及引用,明白为什么要把gen-py改成gen_py了吗?因为-(减号)Python不认。

4、新建Java客户端,把/自己的路径/Public/package/thrift-0.11.0/lib/java/build/lib中的jar包加入工程,还有libthrift-0.11.0.jar包。gen-java中生成一个TestService.java文件也要放入工程(注意:添加类所在的包路径),java client端需要引用。

5、执行python服务端,运行java client。

你可能感兴趣的:(RPC)