我正在使用Foo f = response.readEntity(Foo.class)
从javax.ws.rs.core.Response对象获取实体。
问题在于该语句似乎陷入了循环(根据htop,使用了100%的CPU),直到JVM由于内存不足而最终终止。
我尝试使用调试器进行调查,但是该函数对时间敏感,并且在尝试执行逐步跟踪时服务会抛出TimeoutException
。
最佳答案
该问题与readEntity()
函数没有直接关系:查询参数未正确发送到API,因此搜索参数最终在SQL查询中变为null
。这与数据库的默认行为(如果未传递任何参数时返回完整的数据集)的默认行为一起,会导致readEntity()
方法传递的条目太多而无法处理(无限或循环)。
如果其他任何人都冻结了readEntity()
,请考虑是否有可能无意间在Response对象中传递了大量数据。
关于java - javax.ws.rs.core.Response.readEntity()陷入无限循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42086831/