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());
⚠️ **GitHub.com Fallback** ⚠️