我们的项目使用了几个thrift生成的类。这些类生成的java代码生成了数百个警告,其中大多数是未使用的导入,而不是声明一个长的serialVersionUID(来自Comparable)。
代码库的其余部分......也会产生警告,礼貌地说,而且我不想只禁用节俭代码生成类型的警告。有没有什么我可以用节俭来生成更好的代码?有没有办法在生成的代码中包含警告抑制装饰?
我们正在使用thrift 0.9.1。
答案 0 :(得分:0)
标准Thrift Java实现的替代方法是Facebook Swift。
您可以使用该软件附带的Swift Generator工具从您的IDL生成带注释的Java类,它们更加清晰,而且我非常确定他们也可以选择修改模板。
如果你不想使用他们所包含的" Nifty"服务器,并与标准的Thrift传输集成,您可以使用NiftyProcessorAdapters
实用程序类来创建一个TProcessor:
ThriftCodecManager codecManager = new ThriftCodecManager(
new CompilerThriftCodecFactory(false)
);
List<ThriftEventHandler> eventList = Collections.emptyList();
ThriftServiceProcessor proc = new ThriftServiceProcessor(codecManager, eventList, svc);
this.multiplex.registerProcessor(name, NiftyProcessorAdapters.processorToTProcessor(proc));
Swift生成的代码基本上只是POJO,并不应该是几乎同样多的警告。也就是说,Swift运行时会引入一堆依赖项,可能并不适合所有应用程序。