thrift使用问题汇总

1.注意生成thrift文件时,会出现
  • Assertion `docstring.length() <= strlen(doctext)' failed 
  该问题是由于linux换行符导致的,所以请保证文件换行符的正确性

2.一般情况下在使用多线程时,建议使用TNonBlocking模式,可以极大的提高性能,避免出现I/O瓶颈.

3.thrift不支持定长数组;无指针的概念;

4.接口即所谓的函数(方法)不可以单独出现,需放在service服务之内;

5.包含了其他thrift文件例如aaa.thrift包含xxx.thrift以后,在aaa.thrift中需include “xxx.thrift”。要使用xxx.thrift中的service,
  在aaa.thrift中的service之后需extends xxx.service(该service名称是xxx.thrift中的service名称);要使用xxx.thrift中的数据结构,需在
  aaa.thrift用到的地方之前加上xxx.(xxx.thrift中定义的数据结构)

6.单独定义一个基本类型而不赋值是不允许的,比如 i32 num /bool flag ; 即使赋值不将其作为常量也是无法通过的 例如bool flag = true;

7.oneway的返回值必须是void;

8.struct不支持继承;service中的方法不支持重载;

9.binary基本类型主要是为了java中的二进制流通讯,不建议使用;

10.thrift文件定义时请勿自引用,会引起编译器崩溃。

11.异常可以继承目标编程语言的异常类,目的是与给定编程语言的异常处理功能无缝的结合。

展开阅读全文

没有更多推荐了,返回首页