我正在编写一个 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/