thrift中有个bug, 在收到随机上传的数据是会OutOfMemory, 服务直接crash掉.
详见: https://issues.apache.org/jira/browse/THRIFT-601
测试: telnet到服务端口, 随便输入什么, 会抛出Connection closed by foreign host.
我先在的解决方案是, 把thrift嵌入到servlet中:
1 | import org.apache.thrift.server.TServlet; |
在编写client端时, 把Client.java中的
1 | TTransport transport = new TSocket("localhost", 8080); |
改为1
TTransport transport = new THttpClient("http://localhost:8080/servlet");