Arhh...  It would be simpler if the JMX objects were
updated from client side.  But since that is out of
the question for now, I'll just give you a few
sugestions:

- fake the session problem out and say there is
allways 1 session.  
- Try to put the JSR77 code in an interceptor (like
the TracingInterceptor).  
- To count the messages received, monitor message
acks.. they are the confimations that the messages
were processed ok.

Regards,
Hiram

--- Scott M Stark <[EMAIL PROTECTED]> wrote:
> JSR77 wants to provide a top down view of the JMS
> stats as shown in
> the attached pdf page showing the JMSStats interface
> model:
> 
> JMSStats -> JMSConnectionStats[] ->
> JMSSessionStats[] -> {JMSProduerStats[],
> JMSConsumerStats[],
>     messageCount, pendingMessageCount,
> expiredMessageCount, messageWaitTime{min, max,
> total},
>     durableSubscriptionCount}
> 
> JMSProduerStats -> {name, messageCount,
> pendingMessageCount, expiredMessageCount,
>     messageWaitTime{min, max, total}}
> JMSConsumerStats -> {name, messageCount,
> pendingMessageCount, expiredMessageCount,
>     messageWaitTime{min, max, total}}
> 
> We don't seem to have a real good representation of
> a session on the server.
> I have looked at adding a basic
> connection/{producer/messageCount,
> consumer/messageCount} point
> using the JMSDestinationManager addMessage and
> receive methods using something like:
> 
>    public void addMessage(ConnectionToken dc,
> SpyMessage val, Tx txId) throws JMSException
>    {
>       JMSDestination queue =
>
(JMSDestination)destinations.get(val.getJMSDestination());
> ...
>       // Update the client stats
>       String destName =
> queue.getSpyDestination().getName();
>       ClientStats stats = (ClientStats)
> clientStats.get(dc);
>       if( stats != null )
>       {
>          stats.incProducerCount(destName);
>       }
>    }
> 
>    public SpyMessage receive(ConnectionToken dc, int
> subscriberId, long wait) throws JMSException
>    {
>       ClientConsumer clientConsumer =
> getClientConsumer(dc);
>       SpyMessage msg =
> clientConsumer.receive(subscriberId, wait);
>       JMSDestination queue =
>
(JMSDestination)destinations.get(msg.getJMSDestination());
>       // Update the client stats
>       String destName =
> queue.getSpyDestination().getName();
>       ClientStats stats = (ClientStats)
> clientStats.get(dc);
>       if( stats != null )
>       {
>          stats.incConsumerCount(destName);
>       }
>       return msg;
>    }
> 
> which might be ok for an initial cut but it leaves a
> lot of seemingly difficult to gather wait
> times. Any better ideas on how to provide more of
> this information?
> 
> xxxxxxxxxxxxxxxxxxxxxxxx
> Scott Stark
> Chief Technology Officer
> JBoss Group, LLC
> xxxxxxxxxxxxxxxxxxxxxxxx

> ATTACHMENT part 2 application/pdf name=JMSStats.pdf



__________________________________________________
Do you Yahoo!?
Yahoo! Shopping - Send Flowers for Valentine's Day
http://shopping.yahoo.com


-------------------------------------------------------
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to