}
monitors = new ConcurrentHashMap();
if (scheduler == null)
{
this.scheduler = new ScheduledThreadPoolExecutor(1);
scheduler.setThreadFactory(new DaemonThreadFactory(name + ".expiry.monitor", contextClassLoader));
scheduler.scheduleWithFixedDelay(this, 0, monitorFrequency,
TimeUnit.MILLISECONDS);
}
}