org.jboss.messaging.core.messagecounter
Class MessageCounter

java.lang.Object
  extended by org.jboss.messaging.core.messagecounter.MessageCounter

public class MessageCounter
extends java.lang.Object

This class stores message count informations for a given queue At intervals this class samples the queue for message count data Note that the underlying queue *does not* update statistics every time a message is added since that would reall slow things down, instead we *sample* the queues at regular intervals - this means we are less intrusive on the queue

Version:
$Revision: 1.8 $
Author:
Ulf Schroeter, Stephan Steinbacher, Tim Fox

Field Summary
protected static Logger log
           
 
Constructor Summary
MessageCounter(java.lang.String name, Queue queue, boolean durable, int daycountmax)
          Constructor
 
Method Summary
 java.lang.String getCounterAsString()
          Get message counter data as string in format "Topic/Queue, Name, Subscription, Durable, Count, CountDelta, Depth, DepthDelta, Timestamp Last Increment"
 int getCurrentMessageCount()
           
 boolean getDestinationDurable()
          Gets the related destination durable subscription flag
 java.lang.String getDestinationName()
          Gets the related destination name
 java.lang.String getHistoryAsString()
          Get message counter history data as string in format "day count\n Date 1, hour counter 0, hour counter 1, ..., hour counter 23\n Date 2, hour counter 0, hour counter 1, ..., hour counter 23\n .....
 int getHistoryLimit()
          Get message counter history day count limit <0: unlimited, 0: history disabled, >0: day count
 long getLastUpdate()
          Gets the timestamp of the last message add
 int getMessageCount()
          Gets the current message count of pending messages within the destination waiting for dispatch
 int getTotalMessages()
           
 void resetCounter()
          Reset message counter values
 void resetHistory()
          Reset message counter history
 void sample()
           
 void setHistoryLimit(int daycountmax)
          Set message counter history day count limit <0: unlimited, 0: history disabled, >0: day count
 java.lang.String toString()
          Get string representation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected static final Logger log
Constructor Detail

MessageCounter

public MessageCounter(java.lang.String name,
                      Queue queue,
                      boolean durable,
                      int daycountmax)
Constructor

Parameters:
name - destination name
queue - internal queue object
durable - durable subsciption flag
daycountmax - max message history day count
Method Detail

toString

public java.lang.String toString()
Get string representation

Overrides:
toString in class java.lang.Object

sample

public void sample()

getDestinationName

public java.lang.String getDestinationName()
Gets the related destination name

Returns:
String destination name

getDestinationDurable

public boolean getDestinationDurable()
Gets the related destination durable subscription flag

Returns:
boolean true : durable subscription, false: non-durable subscription

getTotalMessages

public int getTotalMessages()

getCurrentMessageCount

public int getCurrentMessageCount()

getMessageCount

public int getMessageCount()
Gets the current message count of pending messages within the destination waiting for dispatch

Returns:
int message queue depth

getLastUpdate

public long getLastUpdate()
Gets the timestamp of the last message add

Returns:
long system time

resetCounter

public void resetCounter()
Reset message counter values


getCounterAsString

public java.lang.String getCounterAsString()
Get message counter data as string in format "Topic/Queue, Name, Subscription, Durable, Count, CountDelta, Depth, DepthDelta, Timestamp Last Increment"

Returns:
String message counter data string

getHistoryLimit

public int getHistoryLimit()
Get message counter history day count limit <0: unlimited, 0: history disabled, >0: day count


setHistoryLimit

public void setHistoryLimit(int daycountmax)
Set message counter history day count limit <0: unlimited, 0: history disabled, >0: day count


resetHistory

public void resetHistory()
Reset message counter history


getHistoryAsString

public java.lang.String getHistoryAsString()
Get message counter history data as string in format "day count\n Date 1, hour counter 0, hour counter 1, ..., hour counter 23\n Date 2, hour counter 0, hour counter 1, ..., hour counter 23\n ..... ..... Date n, hour counter 0, hour counter 1, ..., hour counter 23\n"

Returns:
String message history data string


Copyright © 2006 JBoss Inc. All Rights Reserved.