2014-11-10 4 views
0

POC에서 작업 중 : 1. Java 응용 프로그램에서 주어진 TIBCO EMS 서버의 큐 목록을 가져오고 있습니다. 2. 대기열 목록에서 대기열 이름을 클릭하면 해당 대기열에서 보류중인 메시지 (예 : 메시지 이름, 메시지 속성 등)가 표시됩니다.Java에서 TIBCO EMS 큐 세부 정보 얻기

TibJmsAdmin을 사용하여 위의 1 점을 달성 할 수있었습니다. 그러나 포인트 2를 달성하는 방법을 모릅니다. TibjmsConnectionFactory를 사용하여 Topic/Queue에서 메시지를 생성하고 소비했습니다. 하지만 특정 대기열에서 보류중인 메시지에 대한 정보를 얻으려면 어떻게해야합니까?

미리 감사드립니다.

대기열 또는 주제에 대한 통계를 찾고 있다면

답변

1

,이 시도 :

TibjmsAdmin admin = new TibjmsAdmin(serverUrl,username,password); 

DestinationInfo di = null; 
if (useTopic) { 
    di = admin.getTopic(destName); 
} else { 
    di = admin.getQueue(destName); 
} 

StatData iStats = di.getInboundStatistics(); 
StatData oStats = di.getOutboundStatistics(); 

long pendingMessages = di.getPendingMessageCount(); 
long pendingSize = di.getPendingMessageSize(); 
long inMsgRate = iStats.getMessageRate(); 
long inByteRate = iStats.getByteRate(); 
long outMsgRate = oStats.getMessageRate(); 
long outByteRate = oStats.getByteRate(); 

당신이 그 (것)이 QueueBrowser를 사용하려고 사용하지 않고 큐의 메시지를 찾아 보는 경우 :

QueueBrowser browser = session.createBrowser(queue); 
Enumeration msgs = browser.getEnumeration(); 

int browseCount=0; 

while (msgs.hasMoreElements()) 
{ 
    message = (javax.jms.Message)msgs.nextElement(); 
    System.err.println("Browsed message: number="+message.getIntProperty("msg_num")); 
    browseCount++; 
} 
을 덕분에
+0

. 그게 효과가! 주어진 대기열에 대한 고객 및 생산자의 세부 정보를 찾고 있었는데 ... 연결 ID, 세션 ID 등과 같은 세부 정보를 찾고있었습니다. 또한 대기열 크기, 주어진 대기열에 대한 생산자 수를 찾고있었습니다. 그러나 찾을 수 없었다. –