Java Server Shuttle 사용법 - skpdi/sentinel-document GitHub Wiki
서버용 Shuttle 의 경우 암호화 관련 의존성이 있습니다. 서버용 셔틀 사용법 페이지를 참조 부탁드립니다. (SKP 내부망)
Shuttle jar 파일을 클래스패스에 포함하고 아래처럼 사용할 수 있습니다.
// Shuttle 인스턴스를 생성합니다.
SampleSentinelShuttle shuttle = new SampleSentinelShuttle();
// Header 또는 Body에 값을 기록하기 위해 같은 이름을 가진 setter 메소드를 이용할 수 있습니다.
// 예를 들어 `page_id` 값을 기록해야 한다면 `page_id` 메소드를 이용하면 됩니다.
shuttle.page_id("/main/card/list")
.action_id("tap.my_card")
.card_num("2012-3XXX-XXXX-XXXX")
.card_company("Hana SK")
.expired_date("MM/YY");
// 또는 `setBodyOf` 메소드를 이용해서 한번에 세팅할 수 있습니다.
// 이 경우 메소드 이름처럼 *Body* 만 세팅되고, 메소드 이름에 나와있는 *KEY* 헤더값이 자동 세팅됩니다.
// 'setBodyOf' 메소드를 이용할 경우, 이전에 입력했던 모든 body 값이 삭제된 후, 메소드 인자로 받은 body 값이 새로 입력됩니다.
// (이 예제에서는 `page_id`, `action_id` 가 `main_card_list`, `tap_my_card` 로 세팅)
shuttle.setBodyOfMain_card_list__tap_my_card(
"2012-3XXX-XXXX-XXXX",
null /* 값을 기록하고 싶지 않은 경우 null 입력 */,
"MM/YY"
);
// session_id 헤더 값을 기록하고, 나머지 Body 값을 setBodyOf 메소드를 이용해서 기록하는 경우
shuttle.session_id("AF0EF")
.setBodyOfMain_card_list__tap_my_card(
"2012-3XXX-XXXX-XXXX",
null ,
"MM/YY"
);
Server 입수 도구(RakeAPI, LogAgent, Direct Kafka)를 사용할 때 다음과 같이 사용합니다. (예시: RakeAPI)
// shuttle의 toString()의 리턴값을 인자로 넘겨줍니다.
loggerAPI.log("your_service_topic", shuttle.toString());
디버깅을 위해서도 toString
메소드를 사용할 수 있습니다.
logger.debug(shuttle.toString());