Users are losing session on production. I asked about this problem few years ago. There were some improvements, though.
First, we discovered that using singletons in web development is not such a bright idea. That helped a lot, the session losing rate dropped significantly but was not eliminated.
Second, there were some global variables in our web services classes. That helped, somewhat.
Next, we were intrigued by high error count on JBoss status page. The most was from "downloadContent":
downloadContent [ /download/* , /d/* ]
Processing time: 160.037 s
Max time: 6436 ms
Request count: 2441
Error count: 654
Load time: 15 ms
Classloading time: 15 ms
Surely, something is wrong when 25% of download is reporting error. This could have some kind of connection with losing session.
We're running:
Alfresco 4.2.c Community
Java 1.7.09
MySQL 5.5
CentOS 5.6