public void triggerPurge(final Runnable afterPurgeAction) {

        OpenCms.getExecutor().execute(new Runnable() {

            @SuppressWarnings("synthetic-access")
            public void run() {

                try {
                    m_purgeLock.writeLock().lock();
                    for (ReentrantReadWriteLock lock : m_fileLocks.values()) {
                        lock.writeLock().lock();
                    }
                    doPurge(afterPurgeAction);
                } catch (Exception e) {
                    LOG.error("Error while purging jsp repository: " + e.getLocalizedMessage(), e);
                } finally {
                    for (ReentrantReadWriteLock lock : m_fileLocks.values()) {
                        try {
                            lock.writeLock().unlock();
                        } catch (Exception e) {
                            LOG.warn(e.getLocalizedMessage(), e);
                        }
                    }
                    m_purgeLock.writeLock().unlock();
                }
            }
        });
    }
public void triggerPurge ( final Runnable afterPurgeAction ) { OpenCms . getExecutor ( ) . execute ( new Runnable ( ) { @ SuppressWarnings ( "synthetic-access" ) public void run ( ) { try { m_purgeLock . writeLock ( ) . lock ( ) ; for ( ReentrantReadWriteLock lock : m_fileLocks . values ( ) ) { lock . writeLock ( ) . lock ( ) ; } doPurge ( afterPurgeAction ) ; } catch ( Exception e ) { LOG . error ( "Error while purging jsp repository: " + e . getLocalizedMessage ( ) , e ) ; } finally { for ( ReentrantReadWriteLock lock : m_fileLocks . values ( ) ) { try { lock . writeLock ( ) . unlock ( ) ; } catch ( Exception e ) { LOG . warn ( e . getLocalizedMessage ( ) , e ) ; } } m_purgeLock . writeLock ( ) . unlock ( ) ; } } } ) ; }
Triggers an asynchronous purge of the JSP repository.<p>

@param afterPurgeAction the action to execute after purging