欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

idl文件生成java_IDL和生成代码分析

发布时间:2025/3/12 编程问答 75 豆豆
生活随笔 收集整理的这篇文章主要介绍了 idl文件生成java_IDL和生成代码分析 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

IDL:接口描述语言

这里使用thrift-0.8.0-xsb这个版本来介绍IDL的定义以及简单实例分析。

1. namespace 定义包名

2.struct 结构体,定义服务接口的参数和返回值用到的类结构。基本类型不需要使用struct.

3.service 定义接口:demo.thrift

1 namespace java com.thrift.demo2

3 struct Parameter {4 1: required i32 id;5 2: required string name;6 }7

8 service DemoService {9 i32 demoMethod(1:string param1, 2:Parameter param2, 3:mapparam3);10 }

命令行执行 thrift -r --gen java demo.thrift,生成gen-java文件夹,在eclipse下创建名为gen-java的工程,然后将生成的gen-java放入eclipse的工作空间,即可关联成为一个gen-java工程(也可以自定义一个java工程,然后将生成的代码导入,此时只有JRE-System Library,java文件均报错。手动创建一个新的文件夹将Thrift工程需要的jar包以及libthrift-0.8.0.jar放置到文件夹下,同时在Java Build Path中添加引用。我这里直接使用eclipse自动fixed setup 导入,然后就出现了Refferenced Libraries文件夹,文件夹中包含了libthrift-0.8.0.jar等需要的jar包。如下图所示:

可见:每个struct会单独生成一个类,每个service也会生成一个类。下面着重看下生成的Demoservice.java。

如上图所示,Demoservice.java中主要由5部分组成:

1.接口类型:Iface(同步调用) AsyncIface(异步调用)

2.客户端类型:Client    AsynClient

3.方法参数封装类类型:demoMethod_args (方法名_args)

4.返回结果封装类类型:demoMethod_result(方法名_result)

5.Processor

总结

以上是生活随笔为你收集整理的idl文件生成java_IDL和生成代码分析的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。