MQ Watcher
ActiveMQ Classic의 KahaDB 스토어를 읽기 전용으로 조사하는 도구입니다. 브로커를 띄우거나 스토어를 변경하지 않고 저널 파일을 로컬에서 파싱해 메시지·ACK·구독·트랜잭션 기록을 파일 위치와 바이트 오프셋까지 추적합니다.

실제 작업 환경
MQ 워처는 ActiveMQ Classic KahaDB 스토어를 위한 조사 워크벤치입니다. 스토어 디렉토리를 지정하면 브라우저나 CLI에서 저널 파일을 로컬로 읽고, 메시지·ACK·구독·트랜잭션 증거의 관계를 파일과 바이트 오프셋까지 연결해 보여줍니다.



무엇을 하는가
KahaDB 저널 프레이밍(배치, 레코드 헤더, 커맨드 엔벨로프, 체크섬)을 파싱해 서로 관련된 증거를 연결합니다. 여러 스토어를 탭으로 열고 두 스냅샷을 A/B로 비교하며, 특정 JMSMessageID를 모든 스토어의 증거에서 추적하고, 인시던트 노트와 저널 보존 정보를 확인한 뒤 마스킹된 증거 번들을 내보낼 수 있습니다.
읽기 전용이 중요한 이유
도구 전체가 읽기 전용으로 동작합니다. 스토어를 쓰기 모드로 열거나 제품 JAR를 로드하지 않고, 복구나 컴팩션도 시작하지 않습니다. 잘못된 런타임이나 복구 경로로 스토어를 열면 조사 중인 증거가 바뀔 수 있기 때문입니다. CLI는 127.0.0.1에만 바인딩되며 업로드 엔드포인트가 없습니다.
증거 흐름
스토어 식별자는 디렉토리 이름이 아니라 Worker가 계산한 콘텐츠 기반 SHA-256 서명입니다. 이름을 바꿔도 식별자가 유지되므로 스냅샷 간 비교에 사용할 수 있습니다. 모든 픽스처 테스트는 스캔 전후 소스 파일의 해시를 비교해 바이트가 하나라도 달라지면 실패합니다. 인식되지 않은 레이아웃은 추측하지 않고 Unknown / Unsupported / Partial로 표시합니다.
검증된 범위
브로커가 생성한 픽스처를 ActiveMQ 5.13.5, 5.15.16, 5.18.7 KahaDB 스토어의 Queue·ACK·트랜잭션·영속 Topic 시나리오에서 검증했으며, 결정론적 골든 결과 테스트를 사용합니다. v0.4.0의 Message Trace 기능은 릴리스 후보 검증을 진행 중입니다.
어디서 멈추는가
MQ 워처는 스토어에서 확인되는 내용을 보여줍니다. 각 조사 단서가 표시된 이유와 그 단서만으로는 증명할 수 없는 내용을 함께 설명하며, 원인 분석과 복구는 별도로 수행해야 합니다.