I think your hypothesis is that these sessions remain active, due
to client-side polling. However, I don't think that's the case -
these sessions are listed as *inactive* (or rather inactive for
longer than 20 mins) in the Tomcat manager web application. And
hitting "Expire (sessions > 20mins)" causes them to expire! So
they are inactive sessions, but are somehow not expired
On 10/10/12 12:18 PM, Shanti Suresh wrote:
At this point, I'm thinking that perhaps a network traffic capture
might give you some clues. Just see the kind of traffic coming in
to the server. You may use wireshark easily to both capture and
see traffic. Setup up a capture filter to capture traffic to and
from your server machine. Then you can selectively view what you
traffic you want to see using display filters.
A quick capture-filter reference is:
Then, you can select one client machine that talks to the server,
and then do a second traffic capture; this time, only capture
traffic from that client machine to the server. See what's going
one. Just see how often the client and server talk and what data
is contained in the packet. It is possible that there is some
polling going on.
Analyzing network traffic might give you a clue on what
conversation is going on with the Tomcat server that's keeping the
On Tue, Oct 9, 2012 at 4:34 PM,
Christopher Schultz <email@example.com>
-----BEGIN PGP SIGNED MESSAGE-----
On 10/9/12 2:36 PM, Kirill Kireyev wrote:
This has nothing to do with Tomcat's code:
> I never modified/extended the Tomcat code, so I doubt
and HttpSessionListener are servlet-API interfaces that you
implement in your own product. If they are written badly, then
interfere with Tomcat's session-expiration thread.
I use Tomcat 5.5, 6.0, and 7.0 and none of them have any
expiring sessions after the configured expiration interval.
This has nothing to do with Tomcat's desire to clean anything
> Could it be that I'm allocating too much heap memory
> so that Tomcat doesn't feel the urgency to clean up?
session-cleanup thread runs at the same interval regardless of