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