Hi Denis! Did you inserted code example to show how to use ReadWriteLock in place? Or I should override the default class? I just added ReadWriteLock, is it ok? There is my final solution with Listener and it works on my machine: I added the following to components.txt: 0:com.myproject.xwiki.cache.CustomSecurityCacheRulesInvalidatorListener @Component @Named("SecurityCacheRulesInvalidatorListener") @Singleton public class CustomSecurityCacheRulesInvalidatorListener extends AbstractEventListener { @Inject @Named(DefaultSecurityCacheRulesInvalidator.NAME) private ReadWriteLock readWriteLock; @Inject private SecurityCache securityCache; @Inject private SecurityReferenceFactory securityReferenceFactory; public CustomSecurityCacheRulesInvalidatorListener() { super(DefaultSecurityCacheRulesInvalidator.NAME, new CleanCacheEvent()); } public void onEvent(Event event, Object source, Object data) { System.out.println("invalidating xwiki cache"); readWriteLock.writeLock().lock(); try { SecurityReference root = securityReferenceFactory.newEntityReference(null); securityCache.remove(root); } finally { readWriteLock.writeLock().unlock(); } } } -- View this message in context: http://xwiki.475771.n2.nabble.com/How-to-invalidate-security-cache-tp7599138... Sent from the XWiki- Dev mailing list archive at Nabble.com.