Enhancement: Major refactoring of WikiSession to include a background 'monitor' thread that removes expired wiki sessions. This means that session-count information should be accurate to within a minute of when your web container expires its sessions. The background thread is an inner class called SessionMonitor that subclasses WikiBackgroundThread. WikiSession also gains a method called getUserPrincipals(WikiEngine) that returns an array of Principals that represents the current users currently using the wiki.
Enhancement: Major refactoring of WikiSession to include a background 'monitor' thread that removes expired wiki sessions. This means that session-count information should be accurate to within a minute of when your web container expires its sessions. The background thread is an inner class called SessionMonitor that subclasses WikiBackgroundThread. WikiSession also gains a method called getUserPrincipals(WikiEngine) that returns an array of Principals that represents the current users currently using the wiki.

Enhancement: all background threads now subclass a new class called WikiBackgroundThread which will gracefully shut themselves down when they hear a 'wiki shutdown' event. These threads are, at present: WikiSession.SessionMonitor, PageManager.LockReaper, RSSThread, and LuceneSearchProvider.LuceneUpdater. These threads are NO LONGER daemon threads, which means they won't stay in memory when the wiki webapp is removed.

Bug fix: to support multi-wiki webapps, WikiSession.getWikiSession's  method signature now includes a parameter for the current WikiEngine.  Check your custom JSPs to see if this affects you (it shouldn't; none of  the default JSPs currently use this method).


git-svn-id: 6c0206e3b9edd104850923da33ebd73b435d374d@625377 13f79535-47bb-0310-9956-ffa450edef68

tateshitah/jspwiki,tateshitah/jspwiki,tateshitah/jspwiki,tateshitah/jspwiki