The reason was "-Xmx1000M" switch. For some reason, there is now not enough memory for Java processes, even thought it is a "maximum" memory, not "minimal". After switching to 500M, everything is fine.
I actually knew that already, but I just found one more difference. I had a code to iterate over a map:
for(Iterator iter=c1.entrySet().iterator(); iter.hasNext();) {
Map.Entry entry=(Map.Entry)iter.next();
// ...
}
Now, with all that fuss about generics, I converted the code and typed Iterator<Map<String, Point>.Entry> iter=..., but Java compiler did not like that. The error put me into stupor. The thing left (besides stopping delaying a trip to a mental institution) was Google. It helped. I am not insane.
It took me some time to understand that simple counting active sessions does not work. Well, it does work for single threaded applications, but they do not really need load balancing. The problem is that sessions can take significant amount of time to initialize and destroy and we cannot have load balancer synchronized during these operations.
Blog aggregator.
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| << < | ||||||
| 1 | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | |||||