“#15270: [건강보험공단/징수포탈시스템] ReportingServer 큐 사이즈 리턴해주는 api 추가”
요구사항:
1. ReportingServer가 가지고 있는 큐 사이즈를 리턴해주는 api 추가
2. ReportingServer가 가지고 있는 큐를 초기화해주는 api 추가
작업내용:
1. Queue에 대기 중인 요청의 개수를 리턴해 주는 opcode=903 추가 [성공1/실패코드0]|Queue사용개수
(response: 1|82)
- 첨부파일: queue_count.jsp
2. Queue를 대기 중인 모든 요청을 삭제 해주는 opcode=999 추가 [성공1/실패코드0]|삭제한큐개수
(response: 1|78)
- Queue 대기열 삭제를 위한 암호 필요: purge_passwd=...
- purge_passwd는 server.properties에 추가하여야함 server.queue.purge.passwd=...
- 암호가 틀릴 경우 아래와 같은 에러가 발생 (Access Denied: 입력받은 암호)
0|[ERS-12006] 요청 처리 중 오류가 발생했습니다.(Access Denied: m2soft)
- 보안상 이유로 위 키값은 공개하지 않을 예정(지식공유 시스템에만 기록 예정)
- 첨부파일: queue_purge.jsp
3. opcode 502의 요청이 report.log에 남도록 수정 되었습니다.
기타:
- debug.log에 request를 Queue에 삽입/삭제시 로그가 기록됨
Put in Queue(0/100) : Queue에 삽입하기 전 Queue 개수 표시
Pop from Queue(0/100) : Queue에서 빼내온 후 Queue 개수 표시
- opcode=903 요청에 대한 결과는 로그에 남지 않음
- opcode=999 요청시 debug.log에 아래와 같은 로그가 남음
Queue Purge Start! : Queue 삭제 시작
68 Queues Purged! : 68개의 Queue 삭제 완료
Thread를 100개 생성해서 동시에 ReportingServer로 요청을 날리는 Thread Invoker 샘플 첨부
- Thread를 사용해서 jsp에 결과 표시를 할수 없고, invoker의 response는 WAS의 콘솔이나 stdout 로그에 기록됨
- 첨부파일: thread_invoker.jsp
참고: ReportingServer의 Executer가 4개고 100건의 요청이 들어온다면,
Executer가 4개의 요청을 처리 중이기 때문에 Queue에는 96개의 요청이 대기 중.