1

有没有一种方法可以使用 refletion 为现有的 java 类生成节俭的描述文件?Avro 具有该功能,但我需要使用 thrift,并且我在 java 中有很多现有的业务类,我需要在 c++ 和 java 中序列化。

4

2 回答 2

1

进入斯威夫特: https ://github.com/facebook/swift/

git clone https://github.com/facebook/swift
cd swift ; mvn package

特别是 swift2thrift。在此处标记您的课程:https ://github.com/facebook/swift/

并运行:

MY_CLASSES=$HOME/ExampleService/target/ExampleService-1.0-SNAPSHOT.jar  # just an example
cd ~/ExampleService ; mvn compile package && java -cp ~/swift/target/swift2thrift-generator-cli-0.15.0-SNAPSHOT-standalone.jar:$MY_CLASSEScom.facebook.swift.generator.swift2thrift.Main -package net.mycompany ExampleService -map ExampleService path/to/base.thrift -namespace py mycompany.thrift -namespace java net.mycompany.thrift -namespace cpp mycompany

输出现有 Java 类的 Thrift .idls。

另请参阅:可以从现有的 java/scala 接口和数据类型生成 .thrift 文件吗?

于 2014-12-01T21:57:23.047 回答
0

不是直接来自图书馆;thrift 生成它自己的类和一些验证代码,以便两个“端”(客户端/服务器)可以互操作而不会出错。您应该编写代码来将您的业务对象映射到 Thrift 对象。

于 2011-01-27T15:41:31.207 回答