2014-03-06 5 views
1

Tibco는 메시지를 데이터 파일이나 데이터베이스에 저장합니다. 주제 나 대기열에 게시 된 이전 메시지를 찾아야합니다. EMS는 오래된/소비 된 메시지를 검색하기위한 API를 제공합니까? 시간이 t1 일 때 게시자가 complexEvent.topic에 메시지를 게시 할 때 complexEvent.topic이라는 주제가 있다고 가정합니다. 시간 t2에 소비자가 메시지를 소비합니다. t2에서 2 시간 후에 t1과 t1 + 10 (분) 사이에 게시 된 모든 메시지를 topicEvent.topic 주제로 볼 필요가 있습니다. 예전 메시지를 검색하려면 어떻게해야합니까?tibco ems 기록 메시지보기

답변

1

EMS는 디자인에 따라 메시지 복사본을 저장하지 않습니다. MOM은 DBMS가 아니며 일반적으로 MOM은 성능을 위해 최적화되어야합니다.

귀하의 경우와 같이 특정 및 필수 사항이 필요한 경우 "DESTINATIONNAME.log"에 로그인하려는 대상 (주제, 대기열)에서 EMS 브리지 (MQ 별칭과 유사, EMS 문서 참조) 열. 이렇게하면 현재 코드와 대상은 영향을받지 않습니다.

그런 다음 Java 대기열 브라우저와 MessageSelector를 사용하여 로그 대기열의 메시지를 검색 할 수 있습니다. 자세한 내용은 Oracle Documentation을 참조하십시오.

큐를 정리하는 것을 잊지 마세요 (메시지 제한 및 오버플로 전략을 설정할 수도 있음).

성능이 중요한 경우 다른 EMS 인스턴스에 로깅 큐를 저장하는 것이 좋습니다.

+0

안녕 GhislainCote, 답변 주셔서 감사합니다. 개발 팀을위한 TIBCO 플랫폼을 제공하고 있습니다. 자동 설치 스크립트를 사용하여 주제와 대기열을 작성할 수 있습니다. 새로운 주제 나 대기열이 만들어 질 때를 알지 못해도 브리지를 만들 수는 없지만 내역 메시지를 모니터링하고 특정 메시지를 검색하는 대시 보드가 필요합니다. EMS 서버를 다시 시작하더라도 모니터는 다시 시작하기 전에 메시지를 찾아야합니다. – Sujoy

+0

내가 볼 수있는 유일한 다른 가능성은 로그 저장소가 완전히 분리 된 것입니다 ... 파일 대신 데이터베이스로 EMS 저장소를 설정하는 것입니다. 그런 다음 데이터베이스에 직접 연결하여 웹 기반 대시 보드를 구성 할 수 있어야합니다 ... EMS는 필요하지 않습니다. 행운을 빕니다 ! – GhislainCote

+0

감사! 나는 혼합 된 접근법을 발견했다. 시스템 목적지를 읽고 모든 메시지를 커스텀 데이터베이스 테이블에 기록했다. – Sujoy