[PPN-211113] Implement ConfigurationProperties

This commit is contained in:
woo-jin.shin
2021-11-18 00:38:16 +09:00
parent 24a848dc9f
commit bbf4affc16
20 changed files with 206 additions and 30 deletions

View File

@@ -2,6 +2,9 @@ package com.myoa.engineering.crawl.ppomppu.processor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Import;
import com.myoa.engineering.crawl.ppomppu.support.webclient.PpomppuNotifierWebClientConfiguration;
/**
* ProcessorApplication
@@ -9,6 +12,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* @since 2021-08-20
*
*/
@Import({ PpomppuNotifierWebClientConfiguration.class })
@SpringBootApplication
public class ProcessorApplication {

View File

@@ -0,0 +1,19 @@
package com.myoa.engineering.crawl.ppomppu.processor.dto.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* WebClientPropertiesUnitName
* @author Shin Woo-jin (woo-jin.shin@linecorp.com)
* @since 2021-11-18
*
*/
@Getter
@AllArgsConstructor
public enum WebClientPropertiesUnitName {
PPOMPPU_NOTIFIER_SENDER_API("ppn-sender-api"),
;
private String unitName;
}

View File

@@ -0,0 +1,36 @@
package com.myoa.engineering.crawl.ppomppu.processor.infrastructure.client;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.client.WebClient;
import com.myoa.engineering.crawl.ppomppu.processor.dto.constant.WebClientPropertiesUnitName;
import com.myoa.engineering.crawl.ppomppu.support.webclient.factory.WebClientFilterFactory;
import com.myoa.engineering.crawl.ppomppu.support.webclient.properties.WebClientProperties;
import com.myoa.engineering.crawl.ppomppu.support.webclient.properties.WebClientProperties.WebClientPropertiesUnit;
import lombok.extern.slf4j.Slf4j;
/**
* PpomppuNotifierSenderAPIClient
* @author Shin Woo-jin (woo-jin.shin@linecorp.com)
* @since 2021-11-17
*
*/
@Slf4j
@Component
public class SenderAPIClient {
private final WebClient webClient;
public SenderAPIClient(WebClientProperties webClientProperties) {
WebClientPropertiesUnit webClientPropertiesUnit =
webClientProperties.find(WebClientPropertiesUnitName.PPOMPPU_NOTIFIER_SENDER_API.getUnitName());
this.webClient = WebClient.builder()
.baseUrl(webClientPropertiesUnit.getBaseUrl())
.filter(WebClientFilterFactory.logRequest())
.filter(WebClientFilterFactory.logResponse())
.build();
}
}
// TODO webclient properties

View File

@@ -1,5 +1,5 @@
webclient:
some: test
init: true
units:
- unit-name: processor-api
- unit-name: ppn-sender-api
base-url: http://localhost:20081

View File

@@ -1,4 +1,5 @@
webclient:
init: true
units:
- unit-name: processor-api
base-url: http://soundhoundfound-processor:20080
- unit-name: ppn-sender-api
base-url: http://ppn_sender:20081