public void start() { logger.info("Starting the container"); for (ContainerLifecycleListener listener : listeners) { listener.beforeStart(this); } for (Bundle<BundleConfiguration> bundle : bundles) { bundle.start(); } for (Application<ApplicationConfiguration> application : applicationMapping.getApplications()) { application.start(); } for (ContainerLifecycleListener listener : listeners) { listener.afterStart(this); } }
public void stop() { logger.info("Stopping the container"); for (ContainerLifecycleListener listener : listeners) { listener.beforeStop(this); } for (Bundle<BundleConfiguration> bundle : bundles) { bundle.stop(); } // FIXME What will application do on stop? for (Application<ApplicationConfiguration> application : applicationMapping.getApplications()) { application.stop(); } for (ContainerLifecycleListener listener : listeners) { listener.afterStop(this); } }
/** * Unmounts an application from the given mount url * * @param mountUrl */ protected void unMount(String mountUrl) { logger.info("Unmounting the mount path {}", mountUrl); Application<ApplicationConfiguration> application = applicationMapping.removeApplication(mountUrl); for (ContainerLifecycleListener listener : listeners) { listener.preUnMount(application); } application.stop(); for (ContainerLifecycleListener listener : listeners) { listener.postUnMount(application); } }
/** * Mounts the application on the container * * @param application */ protected void mount(Application<ApplicationConfiguration> application) { logger.info("Mounting the application {} on the mount path {}", application, application.getConfiguration().getBasePath()); application.getConfiguration().setParent(configuration); for (ContainerLifecycleListener listener : listeners) { listener.preMount(application); } application.init(); applicationMapping.addApplication(application); for (ContainerLifecycleListener listener : listeners) { listener.postMount(application); } }