* Checks if there are any CRL that needs to be updated, and then does the creation.
*
* @see org.ejbca.core.model.services.IWorker#work()
*/
public void work(Map<Class<?>, Object> ejbs) throws ServiceExecutionFailedException {
final CrlCreateSessionLocal crlCreateSession = ((CrlCreateSessionLocal)ejbs.get(CrlCreateSessionLocal.class));
// A semaphore used to not run parallel CRL generation jobs if it is slow
// in generating CRLs, and this job runs very often
if (!running) {
try {
running = true;
long polltime = getNextInterval();
// Use true here so the service works the same as before upgrade from 3.9.0 when this function of
// selecting CAs did not exist, no CA = Any CA.
Collection<Integer> caids = getCAIdsToCheck(true);
crlCreateSession.createCRLs(getAdmin(), caids, polltime*1000);
crlCreateSession.createDeltaCRLs(getAdmin(), caids, polltime*1000);
} finally {
running = false;
}
} else {
String msg = intres.getLocalizedMessage("services.alreadyrunninginvm", CRLUpdateWorker.class.getName());