我正在研究我的论文项目,其中包括Grails后端公开REST API和客户端是Polymer app。
关于Grails后端的最相关信息可能是:
即使我多次同时登录同一个用户(Chrome,Chrome,隐身模式,firefox),本地主机上的一切工作正常。
但是当我从远程设备登录后,例如从智能手机登录后,事情开始变得奇怪。登录或专门获取令牌仍然有效,但控制器响应挂起约30秒,以异常结束。在远程请求的第一个异常之后,来自localhost的请求出现同样的问题,并持续到重新启动。
以下是成功登录后/api/me
上的远程请求的完整调试输出:logs
Url /api/me
映射到此控制器方法:
def showMe() {
respond User.findByUsername(springSecurityService.principal.username)
}
CorsFilter代码是从here复制的。
我不确定我是否正确阅读日志,但似乎问题出现在过滤器链中。我发现RestLogoutFilter
正在调用最后一个过滤器WsFilter
,它以某种方式耗尽了堆。我无法精确确定位置或了解可能出现的问题。
编辑: