一、IDL檔案
二、thrift指令生成的HelloService.java
對于有代碼潔癖的人來說,嘗試閱讀這一巨型java類是很别扭的。swift子項目正好解決了這個問題,它可以通過注解極大簡化最終生成的thrift 服務java代碼,大家可以對比一下:
三、swift生成的HelloService代碼
上面這段代碼,可以用maven-plugin生成:
四、swift-maven-plugin 配置
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuUWYxYmZhR2MiNjY3QGMjFGZlNTOzUWZjJGO2YzM1MWMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
View Code
五、服務端代碼示例
為了友善,先封裝一個服務啟動的輔助類
然後就可以直接用了:
六、用戶端代碼
上面的代碼,server/client是基于netty實作的,在我mac pro上的結果大概1秒8k+次, 相對thrift原生成的實作,性能隻有70%上下。