|
17 | 17 | package com.navercorp.pinpoint.common.server.starter;
|
18 | 18 |
|
19 | 19 | import com.navercorp.pinpoint.common.server.banner.PinpointSpringBanner;
|
| 20 | +import com.navercorp.pinpoint.common.server.env.AdditionalProfileListener; |
20 | 21 | import com.navercorp.pinpoint.common.server.env.EnvironmentLoggingListener;
|
21 | 22 | import com.navercorp.pinpoint.common.server.env.ExternalEnvironmentListener;
|
22 | 23 | import com.navercorp.pinpoint.common.server.env.ProfileResolveListener;
|
|
25 | 26 | import org.springframework.boot.WebApplicationType;
|
26 | 27 | import org.springframework.boot.builder.SpringApplicationBuilder;
|
27 | 28 |
|
| 29 | +import java.util.ArrayList; |
| 30 | +import java.util.List; |
28 | 31 | import java.util.Objects;
|
29 | 32 |
|
30 | 33 | public class BasicStarter {
|
31 | 34 | protected String externalPropertySourceName;
|
32 | 35 | protected String externalConfigurationKey;
|
| 36 | + protected List<String> externalProfiles = new ArrayList<>(); |
33 | 37 |
|
34 | 38 | private final Class<?>[] sources;
|
35 | 39 |
|
36 | 40 | public BasicStarter(Class<?>... sources) {
|
37 | 41 | this.sources = Objects.requireNonNull(sources, "sources");
|
38 | 42 | }
|
39 | 43 |
|
| 44 | + public void addProfiles(String ...profiles) { |
| 45 | + externalProfiles.addAll(List.of(profiles)); |
| 46 | + } |
| 47 | + |
40 | 48 | public void start(String[] args) {
|
41 | 49 | SpringApplicationBuilder builder = new SpringApplicationBuilder();
|
42 | 50 |
|
43 | 51 | builder.sources(sources);
|
44 | 52 | builder.web(WebApplicationType.SERVLET);
|
45 | 53 | builder.bannerMode(Banner.Mode.OFF);
|
46 | 54 |
|
| 55 | + builder.listeners(new AdditionalProfileListener(externalProfiles)); |
47 | 56 | builder.listeners(new ProfileResolveListener());
|
48 | 57 | builder.listeners(new EnvironmentLoggingListener());
|
49 | 58 | builder.listeners(new ExternalEnvironmentListener(externalPropertySourceName, externalConfigurationKey));
|
|
0 commit comments