public class Launcher { public static void main(String[] args) { Server server = new Server(); SelectChannelConnector connector = new SelectChannelConnector(); connector.setPort(8080); server.addConnector(connector); WebAppContext context = new WebAppContext("war", "/"); server.setHandler(context); server.start(); } } jetty launcher
Classes Libraries OldClassLoader NewClassLoader Sevlet New Classes New Libraries Sevlet Session Session init()
App State App State serialize/deserialize
application reloading is hard • requires more than just class reloading • reloading of different components should appear in particular order • bootstrapping