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