LDAP Refresh

Is there any work being done to impliment LDAP refresh? Currently the only way I am aware of to have LDAP changes show up in Wildfire is to restart the services. Would be nice if it would go out once per X (configurable time interval) and refresh the database.

The rosters are cached for a time set in the source with no configurable way to change it. To see where’‘s it’'s happening, check out jivesoftware/wildfire/user/UserManager.java and jivesoftware/util/CacheManager.java. Start at http://www.jivesoftware.org/fisheye/viewrep/svn-org/wildfire/trunk/src/java/org/.

CacheManager sets the default cache lifetime to 6 hours:

private static long maxLifetime = JiveConstants.HOUR * 6;[/code]

CachManager.initializeCache() doesn’‘t allow you to pass in a different lifetime, so you’'re stuck with the default:

public static void initializeCache(String name, int defaultMaxCacheSize) {[/code]

Here are the calls from the UserManager:

CacheManager.initializeCache(“userCache”, 512 * 1024);

CacheManager.initializeCache(“username2roster”, 512 * 1024);[/code]

I would think the feature would be fairly straightforward to implement, but at this point, it’'s not configurable.

So does that mean that under the current release, wildfire reads the ldap data every six hours? If I add a new user, I dont need to restart the service for them to show up, just wait six hours? If so, great, but it would be even better to be able to set this paramater. I think 30 to 60 minutes would be more appropriate.

Where are my manners!? thanks by the way for the detailed response…

Message was edited by: enaslund

Right, it will refresh each cache (internally, there are many) every 6 hours.