package com.exteso.lab.pf.config.reload; import com.exteso.lab.pf.config.reload.condition.ConditionalOnSpringLoaded; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Configuration; import org.springsource.loaded.agent.SpringLoadedAgent; @Configuration @ConditionalOnSpringLoaded public class JHipsterReloaderConfiguration implements ApplicationContextAware { private final Logger log = LoggerFactory.getLogger(JHipsterReloaderConfiguration.class); @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { try { SpringLoadedAgent.getInstrumentation(); log.info("Spring Loaded is running, registering hot reloading features"); JHipsterPluginManagerReloadPlugin.register((ConfigurableApplicationContext) applicationContext, JHipsterReloaderConfiguration.class.getClassLoader()); } catch (UnsupportedOperationException uoe) { log.info("Spring Loaded is not running, hot reloading is not enabled"); } } }