public void reload ( ) { // drops the classLoader and adds a new one this . classLoader = makeClassLoader ( ) ; // Wire up invokers try { for ( Entry < String , Wireable > entry : invokerLookups . entrySet ( ) ) { wire ( classLoader , entry . getKey ( ) , entry . getValue ( ) , true ) ; } } catch ( final ClassNotFoundException e ) { throw new RuntimeException ( e ) ; } catch ( final InstantiationError e ) { throw new RuntimeException ( e ) ; } catch ( final IllegalAccessException e ) { throw new RuntimeException ( e ) ; } catch ( final InstantiationException e ) { throw new RuntimeException ( e ) ; } this . dirty = false ; }
This class drops the classLoader and reloads it . During this process it must re - wire all the invokeables .