Play 2 推特认证
Play 2 Twitter authentication
我有一个 Play 2 网络应用程序,用户可以在其中使用 Twitter (/authenticate/twitter
) 登录。服务器启动一段时间后,登录不再有效,我收到:
Feb 17, 2015 8:22:10 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [play] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.util.concurrent.TimeoutException: This request was timed out after 60000 ms
at play.core.server.servlet25.Play2Servlet25RequestHandler.onFinishService(RequestHandler.scala:36)
at play.core.server.servlet.Play2GenericServletRequestHandler.apply(RequestHandler.scala:371)
at play.core.server.servlet.Play2WarServer$$anonfun$handleRequest.apply(Play2Server.scala:64)
at play.core.server.servlet.Play2WarServer$$anonfun$handleRequest.apply(Play2Server.scala:64)
at scala.Option.map(Option.scala:145)
at play.core.server.servlet.Play2WarServer$.handleRequest(Play2Server.scala:64)
at play.core.server.servlet.GenericPlay2Servlet.service(Play2CommonServlet.scala:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
我根本不知道从哪里开始调查。如果我重新启动服务器登录工作一段时间...你能给个提示吗?
我正在使用 SecureSocial 进行 Twitter 身份验证。应用程序使用 Tomcat 服务器部署在 Elastic Beanstalk 上。
你们的服务是做什么的?您是否尝试过线程转储?
这很可能是由于 servlet API 上的 运行ning - 特别是 servlet 2.5。 Play是一个异步框架,servlet 2.5是完全同步的。您在尝试 运行 同步 Web 服务器中的异步 Web 应用程序时遇到麻烦。如果我是你,我会使用原生支持 Play 的平台,例如 Heroku。
我有一个 Play 2 网络应用程序,用户可以在其中使用 Twitter (/authenticate/twitter
) 登录。服务器启动一段时间后,登录不再有效,我收到:
Feb 17, 2015 8:22:10 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [play] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.util.concurrent.TimeoutException: This request was timed out after 60000 ms
at play.core.server.servlet25.Play2Servlet25RequestHandler.onFinishService(RequestHandler.scala:36)
at play.core.server.servlet.Play2GenericServletRequestHandler.apply(RequestHandler.scala:371)
at play.core.server.servlet.Play2WarServer$$anonfun$handleRequest.apply(Play2Server.scala:64)
at play.core.server.servlet.Play2WarServer$$anonfun$handleRequest.apply(Play2Server.scala:64)
at scala.Option.map(Option.scala:145)
at play.core.server.servlet.Play2WarServer$.handleRequest(Play2Server.scala:64)
at play.core.server.servlet.GenericPlay2Servlet.service(Play2CommonServlet.scala:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
我根本不知道从哪里开始调查。如果我重新启动服务器登录工作一段时间...你能给个提示吗?
我正在使用 SecureSocial 进行 Twitter 身份验证。应用程序使用 Tomcat 服务器部署在 Elastic Beanstalk 上。
你们的服务是做什么的?您是否尝试过线程转储?
这很可能是由于 servlet API 上的 运行ning - 特别是 servlet 2.5。 Play是一个异步框架,servlet 2.5是完全同步的。您在尝试 运行 同步 Web 服务器中的异步 Web 应用程序时遇到麻烦。如果我是你,我会使用原生支持 Play 的平台,例如 Heroku。