001 package railo.runtime.type.scope.storage; 002 003 import java.io.Serializable; 004 005 import railo.runtime.CFMLFactoryImpl; 006 import railo.runtime.exp.ExceptionHandler; 007 import railo.runtime.listener.ApplicationListener; 008 import railo.runtime.op.Caster; 009 010 public class SessionEndListener implements StorageScopeListener,Serializable { 011 012 private static final long serialVersionUID = -3868545140988347285L; 013 014 @Override 015 public void doEnd(StorageScopeEngine engine,StorageScopeCleaner cleaner,String appName, String cfid) { 016 CFMLFactoryImpl factory = engine.getFactory(); 017 ApplicationListener listener = factory.getConfig().getApplicationListener(); 018 try { 019 cleaner.info("call onSessionEnd for "+appName+"/"+cfid); 020 listener.onSessionEnd(factory, appName, cfid); 021 } 022 catch (Throwable t) { 023 ExceptionHandler.log(factory.getConfig(),Caster.toPageException(t)); 024 } 025 } 026 027 }