View Javadoc
1   package pk.lucidxpo.ynami;
2   
3   import org.springframework.beans.BeansException;
4   import org.springframework.boot.autoconfigure.SpringBootApplication;
5   import org.springframework.context.ApplicationContext;
6   import org.springframework.context.ApplicationContextAware;
7   
8   import static org.apache.commons.lang3.BooleanUtils.toBoolean;
9   import static org.springframework.boot.SpringApplication.run;
10  import static pk.lucidxpo.ynami.spring.features.TogglzWrapper.bindApplicationContext;
11  import static pk.lucidxpo.ynami.spring.features.TogglzWrapper.getApplicationContext;
12  import static pk.lucidxpo.ynami.spring.features.TogglzWrapper.releaseApplicationContext;
13  
14  @SpringBootApplication
15  public class YNaMiApplication implements ApplicationContextAware {
16  
17      public static void main(String[] args) {
18          run(YNaMiApplication.class, args);
19      }
20  
21      @Override
22      public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {
23          if (toBoolean(applicationContext.getEnvironment().getProperty("config.togglz.enabled"))) {
24              if (getApplicationContext() != null) {
25                  releaseApplicationContext();
26              }
27              bindApplicationContext(applicationContext);
28          }
29      }
30  }