/** * @see org.apache.sling.api.request.SlingRequestListener#onEvent(org.apache.sling.api.request.SlingRequestEvent) */ @Override public void onEvent(final SlingRequestEvent event) { if ( event.getType() == SlingRequestEvent.EventType.EVENT_INIT ) { try { this.perThreadScriptResolver.set(this.sharedScriptResolver.clone(null)); } catch (final LoginException e) { LOGGER.error("Unable to create new script resolver clone", e); } } else if ( event.getType() == SlingRequestEvent.EventType.EVENT_DESTROY ) { final ResourceResolver resolver = this.perThreadScriptResolver.get(); if ( resolver != null ) { this.perThreadScriptResolver.remove(); resolver.close(); } } }