如何在Thrift服务中使用特定于Java的类型?

时间:2012-02-27 14:06:46

标签: java thrift

我正在编写一个Thrift服务,其基本功能是将所有查询代理到EJB Bean。基本上,服务将接收调用,查找本地bean,将查询转发给bean并将答案转发回客户端。

主要问题是thrift IDL不支持特定于语言的类型。例如,方法参数之一是实现接口Inamed(扩展Serializable)的对象。

如何告诉thrift我想从“my.package.interfaces.INamed”导入此接口并将其用作有效参数/返回类型?

1 个答案:

答案 0 :(得分:2)

如果要通过Thrift发送任意对象,可以将它们序列化并将它们作为Thrift二进制数据发送,并在另一端对它们进行反序列化。这会绕过类型检查。

但Thrift的设计与语言无关,所以我认为你不能在IDL中表达特定于语言的类型。

你能定义一个匹配INamed的Thrift结构,然后在你的其他Thrift方法中使用它吗?