I want to measure the performance for different jms providers using MDBs. The concept behind the benchmark framework, is that I am continuously sending and consuming messages in time intervals. For e.g., I am coninuously sending messages for 3 minutes, from a client , to a queue on AS, to which listens one MDB . After each minute I want to get the amount of messages consumed by that MDB. As we all know, the MDB is instantiated several times, depending of the high load, and those instances go inside the mdb-pool. I want for each MDB instance to get the total no of messages after each minute. The problem is that the MDB must know the precise moment of time when the client started sending messages, so that, after one minute past, to register somewhere, the no of consumed messages.
I am also trying to avoid to get inside the client, the message count directly from the queue (using queuebrowser , JMX ... ), after each minute, since when is high-load, this operation is quite slow.
Some ideas ? Or some workarrounds, maybe using another concept for these performance tests ?