package com.sleepycat.je.dbi; import com.sleepycat.je.evictor.Evictor; public class EnvironmentImpl { private Evictor evictor; public void invokeEvictor() throws DatabaseException { if (evictor != null) { evictor.doEvict(Evictor.SOURCE_MANUAL); } } public void shutdownEvictor() throws InterruptedException { if (evictor != null) { evictor.shutdown(); evictor.clearEnv(); evictor=null; } return; } public Evictor getEvictor(){ return evictor; } void alertEvictor(){ if (evictor != null) { evictor.alert(); } } protected void hook334(){ if (evictor != null) { evictor.requestShutdown(); } original(); } /** * Ask all daemon threads to shut down. */ private void shutdownDaemons() throws InterruptedException { original(); shutdownEvictor(); } @MethodObject static class EnvironmentImpl_createDaemons { void execute() throws DatabaseException { _this.evictor=new Evictor(_this,"Evictor"); original(); } } }