使用REST和Java处理大量的大Http请求

时间:2019-02-15 20:39:13

标签: java rest web-services http

我必须设计一个JAVA REST API,该API接受Json请求,并且需要将数据上传到数据库。数据也包含图像(Base64编码),因此每个请求的大小约为25MB。当这些请求的频率增加时,问题就开始了(我已经在1秒内测试了10个请求),并且API以此速率抛出java.lang.OutOfMemoryError: Java heap spacejava.lang.OutOfMemoryError: GC overhead limit exceeded。 我试图增加堆大小,但没有帮助。 在尝试解决问题时,我尝试禁用任何处理,只是在服务器上读取了请求。即使没有任何请求,我也遇到了同样的异常。

这是我收到请求后要做的事情

1)从请求中读取并将所有内容存储在字符串中

2)从此字符串获取json对象(我​​正在使用org.json)

3)其余处理(我跳过了测试,但仍然遇到异常)。

我的问题是如何处理这么多数据?我是否应该将每个请求保存在文件中并一次处理固定数量的请求(我认为应该避免)?我应该使用其他库或算法吗?任何建议都会有所帮助。

我正在使用Jboss-eap-6.4

0 个答案:

没有答案