【发布时间】:2012-08-02 22:59:01
【问题描述】:
我正在编写一个基于 Apache Thrift 的 Java 服务器,它将接收来自 Javascript 客户端的数据。我已经完成了 Java 服务器,但问题是我可以获得 Javascript 客户端的工作示例(我无法找到一个好的示例)。构建文档中的示例不是很有帮助。我当前的 Javascript 客户端如下:
function testServer() {
try {
var transport = new Thrift.Transport("http://127.0.0.1:9090");
var protocol = new Thrift.Protocol(transport);
var client = new JavaEventClient(protocol);
var alive = client.isServerAlive();
} catch(e) {
}
}
testServer();
但代码不起作用 - 因为 Java 服务器抛出“内存不足”错误。我不知道错误是由于我的客户端代码还是 Apache Thrift。
我做错了什么?
【问题讨论】:
-
你试过增加JVM内存吗?
-
Thrift in Java 会在虚假输入上恶意抛出 OOM,似乎 JS 客户端在那里发送了一些错误。我想您在服务器端的协议定义有
isServerAlive()方法? -
是的,在Java服务器实现中有isServerAlive()的声明。
-
看来 JS Thrift 库仅限于 JSON 协议,您的服务器是使用
JSONProtocol实现的吗? -
否,如何将服务器实现为 JSONProtocol?
标签: javascript java thrift