In einem JSF-Projekt habe ich einen SessionExpired-Filter eingebaut. Der Filter implementiert das javax.servlet.Filter Interface und leitet den Benutzer auf die Login-Seite um, wenn die Session abgelaufen ist. Der Filter hat an sich super funktioniert, bis ich wieder einen Stresstest mit jMeter gemacht habe. Dabei ist im Filter folgende Exception geworfen worden:
java.lang.IllegalStateException: Factory already available for this class loader.
Ich habe den Fehler zuerst in meinem Filter gesucht, der zweite Uebeltaeter den ich in Verdacht zog war Tomcat. Doch tatsachlich war es wieder einmal die JSF Komponenten Libary ADF/Trinidad.
http://www.mail-archive.com/adffaces-issues@incubator.apache.org/msg02333.html
Wenn nach einem Serverstart zwei Threads gleichzeitig auf die Applikation zugreifen kommt der Dispatcher durcheinander.
Ganz grosses Kino!!!