java - 如何在 Thrift 服务中使用 java 特定类型?

标签 java thrift

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

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

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

最佳答案

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

但是 Thrift 被设计为与语言无关,因此我认为您无法在 IDL 中表达特定于语言的类型。

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

关于java - 如何在 Thrift 服务中使用 java 特定类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9466326/

相关文章:

service - Apache Thrift 服务自动发现

postgresql - Google Go 数据存储接口(interface)

java - 如何编写一个Map的set方法并将另一个Map作为值?

java - 如何通过代码获取编译后的jar文件的路径?

scala - 如何在 Thrift/Scrooge 中声明一个返回 Option 值的方法?

java - 如何通过单个命令为文件夹中的所有thrift文件生成所有类?

c++11 - fbthrift (facebook thrift) 稳定版发布了吗?

java - 从 LinkedList 中删除元素

java - MaterialDatePicker 不适用于 Android

java - 如何查找字符串中第 n 次出现的分隔符?