We have an application that is distributed across 4 EARs, which we will call A, B, C, and D.
I have configure tomcat as follows:
to enable single signon.
The session logout is implemented in ear B. That is, all of the web pages in all of my applications contain a "Logout" button. When you click it, it calls a logout action which invalidates the session. That action is defined in ear B.
We are doing performance testing where we are simulating the following:
- log on (calls a Login action defined in B)
- execute an operation that resides in A
- log out (which calls a logout action definded in B)
- repeat over and over again
What we are seeing is that sessions are created but the resources are not freed when logging out. I have the impression that it is due to the fact that I am using multiple ears, but I am not quite sure yet.
Eventually, there are so many threads running that the JVM runs out of ressources.
Has anyone had experience with an approach like this one? What have you done to resolve the issue? Or do you have suggestions?
I found this page:
According to the tomcat documentation:
Logging out of one invalidates all sessions, and I can confirm that this works. However, it looks like the ressources for sessions may not be released.
Has anyone else seen this? ANy ideas?