We have a Jersey application running on Tomcat 7.0.62. In production, 99.9% of our web service calls run quickly (e.g., 100ms), but there are about half a dozen web service calls per hour that take an extraordinary amount of time to complete: 30-120 seconds (not ms).

We do not use WebSockets in our application. However, our profiling tool clearly shows that Tomcat is invoking the WebSocket protocol on the slow-running web service calls. In the stack trace below, see this line:

org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:46)

How can we track down what is causing Tomcat to use the WebSocket protocol, given that our application code does not make any references to WebSocket annotations, etc.? Or is there a configuration option we can use to cause Tomcat to not use WebSockets?

Thanks much.

 Stack trace
org.glassfish.jersey.server.ApplicationHandler.handle (ApplicationHandler.java:13) org.glassfish.jersey.servlet.WebComponent.service (WebComponent.java:401) org.glassfish.jersey.servlet.ServletContainer.service (ServletContainer.java:386) org.glassfish.jersey.servlet.ServletContainer.service (ServletContainer.java:335) org.glassfish.jersey.servlet.ServletContainer.service (ServletContainer.java:222) ….catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:303) …g.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:208)
   org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:46)
….catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:241) …g.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:208) org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:220) org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:122) …apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:505) org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:170) org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:103) org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:957) org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:116) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:423) …g.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1079) …ote.AbstractProtocol$AbstractConnectionHandler.process (AbstractProtocol.java:620) …ache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun (NioEndpoint.java:1747) …apache.tomcat.util.net.NioEndpoint$SocketProcessor.run (NioEndpoint.java:1706) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)
…he.tomcat.util.threads.TaskThread$WrappingRunnable.run (TaskThread.java:61)
                                   java.lang.Thread.run (Thread.java:745)


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to