@Override public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { SpringApplication springApplication = event.getSpringApplication(); Class clazz = springApplication.getMainApplicationClass(); if (!clazz.isAnnotationPresent(ImportExtraConfig.class)) { return; } ImportExtraConfig annotation = (ImportExtraConfig) clazz .getAnnotation(ImportExtraConfig.class); String[] extraConfig = annotation.name(); if (extraConfig == null || extraConfig.length == 0) { return; } for (String config : extraConfig) { try { Properties properties = new Properties(); properties.load(new FileInputStream(config)); event.getEnvironment().getPropertySources() .addFirst(new PropertiesPropertySource(config, properties)); } catch (IOException e) { e.printStackTrace(); } } } }
.web(WebApplicationType.NONE); final SpringApplication builderApplication = builder.application(); if(builderApplication.getMainApplicationClass() == null){ builder.main(application.getMainApplicationClass());
public SpringRunListener(SpringApplication application, String[] args) { log.debug("Init run listener from main : {}", application.getMainApplicationClass()); Set<String> bps = new LinkedHashSet<>(); if(application.getSources().size() == 1) { Object source = application.getSources().iterator().next(); if(source instanceof Class) { Class<?> c = (Class)source; Global.bp = Classes.getPackageName(c); addBasePackages(bps, c); } } if(null != application.getMainApplicationClass()) { Class<?> mainClass = application.getMainApplicationClass(); if(null == Global.bp) { Global.bp = Classes.getPackageName(mainClass); } addBasePackages(bps, mainClass); } addBasePackagesFromConfigurations(bps); Global.bps = bps.toArray(new String[0]); log.info("Base package : {}", Global.bp); }
@Override public void onApplicationEvent(ApplicationEvent event) { if (event instanceof ApplicationEnvironmentPreparedEvent) { ApplicationEnvironmentPreparedEvent castEvent = (ApplicationEnvironmentPreparedEvent) event; // Prefer OT, then Dmitry, then Manifest (see foundation basePOM String serviceName = Optional.ofNullable(castEvent.getEnvironment().getProperty(OT_COMPONENT_NAME_KEY)) .orElse(Optional.ofNullable(castEvent.getEnvironment().getProperty(DMITRY_COMPONENT_NAME_KEY)) .orElse(castEvent.getSpringApplication().getMainApplicationClass().getPackage().getImplementationTitle()) ); LOG.info("Setting service name to {}", serviceName); CommonLogHolder.setServiceType(serviceName); } if (event instanceof ApplicationFailedEvent) { LOG.info("Terminating default logging context"); LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); loggerContext.reset(); new BasicConfigurator().configure(loggerContext); } } }
@Override public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { RemotePropertySource sources = event.getSpringApplication() .getMainApplicationClass().getAnnotation(RemotePropertySource.class); String configPath = ConfigurationManager.getInstance().getserverConfig().getBasePath() + "/conf/"; if (sources != null) { for (String name : sources.value()) { try { ConfigHelper.getInstance().loadConfig(name); File config = new File(configPath + name); if (config.exists()) { Properties properties = new Properties(); properties.load(new FileInputStream(config)); event.getEnvironment().getPropertySources().addFirst(new PropertiesPropertySource(name, properties)); } else { throw new RuntimeException("[TARS] load config failed file not exists"); } } catch (IOException e) { System.err.println("[TARS] load config failed: " + name); e.printStackTrace(); } } } } }
.web(WebApplicationType.NONE); final SpringApplication builderApplication = builder.application(); if(builderApplication.getMainApplicationClass() == null){ builder.main(application.getMainApplicationClass());