Skip to content

Commit 8450a69

Browse files
youngjin.kim2smilu97
youngjin.kim2
authored andcommitted
[#9744] Fix collector starter behaviors by arguments
1 parent f3303bf commit 8450a69

File tree

7 files changed

+21
-4
lines changed

7 files changed

+21
-4
lines changed

commons-server/src/main/java/com/navercorp/pinpoint/common/server/env/AdditionalProfileListener.java

+5
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ public AdditionalProfileListener(String... profiles) {
3939
this.profiles = List.of(profiles);
4040
}
4141

42+
public AdditionalProfileListener(List<String> profiles) {
43+
Objects.requireNonNull(profiles, "profiles");
44+
this.profiles = new ArrayList<>(profiles);
45+
}
46+
4247
@Override
4348
public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {
4449
logger.info(String.format("onApplicationEvent(%s)", event.getClass().getSimpleName()));

commons-server/src/main/java/com/navercorp/pinpoint/common/server/starter/BasicStarter.java

+9
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.navercorp.pinpoint.common.server.starter;
1818

1919
import com.navercorp.pinpoint.common.server.banner.PinpointSpringBanner;
20+
import com.navercorp.pinpoint.common.server.env.AdditionalProfileListener;
2021
import com.navercorp.pinpoint.common.server.env.EnvironmentLoggingListener;
2122
import com.navercorp.pinpoint.common.server.env.ExternalEnvironmentListener;
2223
import com.navercorp.pinpoint.common.server.env.ProfileResolveListener;
@@ -25,25 +26,33 @@
2526
import org.springframework.boot.WebApplicationType;
2627
import org.springframework.boot.builder.SpringApplicationBuilder;
2728

29+
import java.util.ArrayList;
30+
import java.util.List;
2831
import java.util.Objects;
2932

3033
public class BasicStarter {
3134
protected String externalPropertySourceName;
3235
protected String externalConfigurationKey;
36+
protected List<String> externalProfiles = new ArrayList<>();
3337

3438
private final Class<?>[] sources;
3539

3640
public BasicStarter(Class<?>... sources) {
3741
this.sources = Objects.requireNonNull(sources, "sources");
3842
}
3943

44+
public void addProfiles(String ...profiles) {
45+
externalProfiles.addAll(List.of(profiles));
46+
}
47+
4048
public void start(String[] args) {
4149
SpringApplicationBuilder builder = new SpringApplicationBuilder();
4250

4351
builder.sources(sources);
4452
builder.web(WebApplicationType.SERVLET);
4553
builder.bannerMode(Banner.Mode.OFF);
4654

55+
builder.listeners(new AdditionalProfileListener(externalProfiles));
4756
builder.listeners(new ProfileResolveListener());
4857
builder.listeners(new EnvironmentLoggingListener());
4958
builder.listeners(new ExternalEnvironmentListener(externalPropertySourceName, externalConfigurationKey));

metric-module/collector-starter/src/main/java/com/navercorp/pinpoint/collector/starter/multi/application/MultiApplication.java

+2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ public static void main(String[] args) {
4545
if (types.hasType(CollectorType.BASIC)) {
4646
logger.info(String.format("Start %s collector", CollectorType.BASIC));
4747
SpringApplicationBuilder collectorAppBuilder = createAppBuilder(builder, 15400, BasicCollectorApp.class, UriStatCollectorConfig.class);
48+
collectorAppBuilder.listeners(new AdditionalProfileListener("metric"));
49+
collectorAppBuilder.listeners(new AdditionalProfileListener("uri"));
4850
collectorAppBuilder.build().run(args);
4951
}
5052

metric-module/web-starter/src/main/java/com/navercorp/pinpoint/web/starter/multi/MetricAndWebApp.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
import com.navercorp.pinpoint.common.server.util.ServerBootLogger;
2020
import com.navercorp.pinpoint.metric.web.MetricWebApp;
2121
import com.navercorp.pinpoint.uristat.web.UriStatWebConfig;
22+
import com.navercorp.pinpoint.web.AuthorizationConfig;
2223
import com.navercorp.pinpoint.web.PinpointBasicLoginConfig;
2324
import com.navercorp.pinpoint.web.WebApp;
2425
import com.navercorp.pinpoint.web.WebAppPropertySources;
2526
import com.navercorp.pinpoint.web.WebMvcConfig;
2627
import com.navercorp.pinpoint.web.WebServerConfig;
2728
import com.navercorp.pinpoint.web.WebStarter;
28-
import com.navercorp.pinpoint.web.AuthorizationConfig;
2929
import com.navercorp.pinpoint.web.cache.CacheConfiguration;
3030
import org.springframework.boot.SpringBootConfiguration;
3131
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -48,6 +48,7 @@ public class MetricAndWebApp {
4848
public static void main(String[] args) {
4949
try {
5050
WebStarter starter = new WebStarter(MetricAndWebApp.class, PinpointBasicLoginConfig.class, AuthorizationConfig.class, MetricWebApp.class, UriStatWebConfig.class);
51+
starter.addProfiles("uri", "metric");
5152
starter.start(args);
5253
} catch (Exception exception) {
5354
logger.error("[WebApp] could not launch app.", exception);

uristat/uristat-collector/src/main/java/com/navercorp/pinpoint/uristat/collector/UriStatCollectorConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.springframework.context.annotation.Profile;
88
import org.springframework.context.annotation.PropertySource;
99

10-
@Profile("metric")
10+
@Profile("uri")
1111
@Configuration
1212
@ImportResource({"classpath*:**/applicationContext-collector-metric-namespace.xml", "classpath:applicationContext-collector-uristat-pinot-kafka.xml"})
1313
@ComponentScan({"com.navercorp.pinpoint.uristat.collector.service", "com.navercorp.pinpoint.uristat.collector.dao"})

uristat/uristat-collector/src/main/java/com/navercorp/pinpoint/uristat/collector/service/PinotAgentUriStatService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
import java.util.Objects;
3434

3535
@Service
36-
@Profile("metric")
36+
@Profile("uri")
3737
public class PinotAgentUriStatService implements AgentUriStatService {
3838
private final Logger logger = LogManager.getLogger(this.getClass());
3939

uristat/uristat-web/src/main/java/com/navercorp/pinpoint/uristat/web/UriStatWebConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
@Configuration
99
@ImportResource({"classpath:applicationContext-web-uristat.xml"})
1010
@Import(UriStatWebPropertySources.class)
11-
@Profile("metric")
11+
@Profile("uri")
1212
public class UriStatWebConfig {
1313
}

0 commit comments

Comments
 (0)