1 package de.juplo.demos.multiplebeans;
3 import org.springframework.boot.SpringApplication;
4 import org.springframework.boot.env.EnvironmentPostProcessor;
5 import org.springframework.core.env.ConfigurableEnvironment;
6 import org.springframework.core.env.PropertySource;
8 import java.util.Arrays;
10 public class MultipleBeansEnvironmentPostProcessor implements EnvironmentPostProcessor {
13 public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
15 for (PropertySource source : environment.getPropertySources()) {
16 Object found = source.getProperty("juplo.sites");
18 sites = found.toString();
22 throw new IllegalArgumentException("Parameter juplo.sites is not set!");
24 application.addInitializers(new MultipleBeansApplicationContextInitializer(
25 Arrays.stream(sites.split(","))
26 .map(site -> site.trim())
27 .toArray(size -> new String[size])));