어플리케이션 리모트 호출
타 업무의 어플리케이션을 리모트로 호출 하기 위해 프레임워크에서 제공하는 DefaultWebClient를 이용하는 방법에 대해서 설명한다.
의존성 추가
타 업무의 어플리케이션을 호출 하기 위해서는 해당 어플리케이션을 의존성 설정을 추가하여야 한다.
build.gradle 설정은 다음과 같다.
dependencies {
implementation 'bcpp:sample-project:latest.release'
}
타 업무의 어플리케이션을 추가하기 위해서는 build.gradle 파일을 수정 하여야 한다. 현재 build.gradle 포함 어플리케이션 관련 설정 등은 프레임워크에서 관리하고 있다. 타 업무의 어플리케이션 추가는 프레임워크 팀에 문의가 필요한다. |
DefaultWebClient
아래는 타 업무를 호출하기 위해 DefaultWebClient을 사용하는 예시이다.
public EmployeeIO getEmployee(int empNo) {
// 호출 헤더 정의
PrependedSystemHeader header= PrependedSystemHeader.prepend(systemHeader);
// 메소드 호출
SmpEmployeeBasicControllerDto result = DefaultWebClient.getForObject(header,
"http://local-service/employee/get/7839", SmpEmployeeBasicControllerDto.class);
DefaultSystemHeader respHeader = (DefaultSystemHeader) header.consume();
logger.info("Response Header : {}", respHeader);
logger.info("Response Object : {}", result);
}
http://서비스명:포트/employees : 호출 하려는 어플리케이션의 URL 정보이다. 해당 URL 정보는 Kubernetes에서 확인 할 수 있다. (예 : http://example-bxfdemo:8080) 아래는 kubernetes에 확인한 Service의 예이다. |