Hi

My requirements are very similar to the JMS Subscriber, but for Queues. I don't 
need to subscribe many messages, just one for sampler, and since they contain 
xml it is very easy to assert with XPath. 

But if you could send me the source, would be nice, I could get some ideas. 
Btw, I pretend to commit my alterations in jmeter project.

Thanks in advance

João Ferreira

> -----Original Message-----
> From: Noel O'Brien [mailto:[email protected]]
> Sent: segunda-feira, 21 de Junho de 2010 12:00
> To: JMeter Users List
> Subject: Re: JMS Assertion??
> 
> Hey,
> 
> I've implemented something for pulling (map) messages off a queue and
> putting them into a comma separated name=value string so that I could
> run response assertions on it. If this is useful for you I could send
> you the source and/or JAR file to put into lib/ext
> 
> Regards,
> Noel
> 
> ----- "João Tiago Ferreira" <[email protected]> wrote:
> > Hi
> >
> > The missing feature of Jmeter is the QueueReceiver without a
> QueueSender. My application under test has the same behavior of yours,
> but without the HTTP.
> >
> > I invoke a “method” in my application via JMS. This method will
> invoke other “method” in other system via JMS too. I would like to
> assert this message is sent to the other “system”.
> >
> > Currently I am implementing a JMS receiver similar to the JMS
> subscriber.
> >
> > Best regards
> >
> > João Ferreira
> >
> > From: Noel O'Brien [mailto:[email protected]]
> > Sent: segunda-feira, 21 de Junho de 2010 11:25
> > To: João Tiago Ferreira
> > Cc: JMeter Users List
> > Subject: Re: JMS Assertion??
> >
> > Hi,
> >
> > I didn't write this assertion in the end. Instead I used a
> transaction controller to wrap a HTTP Sampler and a JMS Sampler and
> user response assertions on both sampler.
> >
> > Also, please keep all JMeter communication on the mailing list ;)
> >
> > Regards,
> > Noel
> >
> > ----- "João Tiago Ferreira" <[email protected]> wrote:
> > > Hi
> > >
> > > I am going to implement these features. I would like to know if you
> implemented it or started and if I could use them.
> > >
> > > Best regards
> > >
> > > João Ferreira
> > > ________________________________________
> > > De: sebb [[email protected]]
> > > Enviado: sábado, 19 de Junho de 2010 17:00
> > > Para: JMeter Users List
> > > Assunto: Re: JMS Assertion??
> > >
> > > No.
> > >
> > > Patches welcome!
> > > (via Bugzilla please)
> > >
> > > On 18/06/2010, João Tiago Ferreira
> <[email protected]> wrote:
> > > > Hi
> > > >
> > > > I was interested in such a feature. It was implemented?
> > > >
> > > > Best regards
> > > >
> > > > João Ferreira
> > > >
> > > >
> > > > On Monday 16 February 2009 17:02:32 sebb wrote:
> > > > > On 16/02/2009, Noel O'Brien <[email protected]> wrote:
> > > > > > On Monday 16 February 2009 16:35:56 sebb wrote:
> > > > > > > On 16/02/2009, Noel O'Brien <[email protected]> wrote:
> > > > > > > > On Monday 16 February 2009 15:42:46 sebb wrote:
> > > > > > > > > On 16/02/2009, Noel O'Brien <[email protected]> wrote:
> > > > > > > > > > Hi All,
> > > > > > > > > >
> > > > > > > > > > The web application I'm testing uses JMS queues for
> > > > > > > > > > communicating externally when certain events occur.
> The JMS
> > > > > > > > > > point to point sampler in JMeter only provides for
> Request and
> > > > > > > > > > Request/Response tests, however almost all of the
> messaging I
> > > > > > > > > > will be testing will be driven by a HTTP request,
> i.e. make a
> > > > > > > > > > HTTP request and there should be a corresponding
> message on a
> > > > > > > > > > JMS queue.
> > > > > > > > > >
> > > > > > > > > > What is the best way to (at least) functionally test
> this? I
> > > > > > > > > > was thinking of writing a JMS Assertion that I could
> add to the
> > > > > > > > > > HTTP Request sampler, does that sound reasonable? The
> JMS
> > > > > > > > > > message occurs as a result of the HTTP request being
> made so to
> > > > > > > > > > me it makes sense for it to be an assertion.
> > > > > > > > >
> > > > > > > > > Is the JMS message sent before the HTTP response is
> returned? Can
> > > > > > > > > one guarantee this?
> > > > > > > > > I thought JMS was asynchronous.
> > > > > > > >
> > > > > > > > JMS is indeed asynchronous. The HTTP response will always
> return
> > > > > > > > first, and the logic that puts the message on the queue
> is run in a
> > > > > > > > background thread which has a default pause interval or
> 30 seconds.
> > > > > > > > So there would be a maximum 30 second delay between the
> http request
> > > > > > > > completing and the message appearing on the queue
> > > > > > > >
> > > > > > > > > I would expect the HTTP Response Assertion to be used
> for
> > > > > > > > > checking that the HTTP response is OK, i.e. the page
> contains
> > > > > > > > > "message sent OK" or whatever.
> > > > > > > > >
> > > > > > > > > > Is there any other way of having a "Response" only
> JMS
> > > > > > > > > > sampler?
> > > > > > > > >
> > > > > > > > > I've never used JMS, but isn't that what JMS Subscriber
> does?
> > > > > > > >
> > > > > > > > We are not using topic/subscriber model for JMS, but
> queues (FIFO).
> > > > > > > > Will the JMS Subscriber sampler work with queues?
> > > > > > >
> > > > > > > No idea, sorry.
> > > > > > >
> > > > > > > > > i.e what does the intended JMS recipient do?
> > > > > > > >
> > > > > > > > The intended JMS recipient parses the message and does
> further
> > > > > > > > processing. In our example, it's an SMS gateway, but is
> outside the
> > > > > > > > scope of our app, so I do not need to test it. I do need
> to test
> > > > > > > > that the correct messages are coming off the queue (in
> quantity and
> > > > > > > > content) and will need to performance test it in future
> > > > > > >
> > > > > > > I meant - what JMS actions does the recipient do to acquire
> the
> > > > > > > message, not what it does with the message once received.
> > > > > >
> > > > > > I have no idea how the SMS gateway interacts with the queue,
> but as it's
> > > > > > written in Java I assume it would use the onMessage()
> function.
> > > > >
> > > > > Presumably it will have to do something first in order to use
> that
> > > > > function.
> > > > >
> > > > > > I will investigate further the JMS Subscriber sampler and
> report my
> > > > > > findings.
> > > > >
> > > > > Thanks.
> > > > >
> > > > > If it turns out that there is a missing aspect of JMS that
> JMeter
> > > > > could implement, then we can see about adding it for a future
> release.
> > > >
> > > > I tried using a JMS Subscriber sampler to take some messages off
> a queue, but
> > > > the following exception happened in jmeter.log:
> > > >
> > > > 2009/02/16 17:04:20 ERROR - jmeter.threads.JMeterThread:
> > > > java.lang.ClassCastException: com.swiftmq.jms.QueueImpl cannot be
> cast to
> > > > javax.jms.Topic
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.client.InitialContextFactory.lookupTopic
> (InitialContextFactory.java:80)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.client.OnMessageSubscriber.initConnectio
> n(OnMessageSubscriber.java:119)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.client.OnMessageSubscriber.<init>(OnMess
> ageSubscriber.java:79)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.initListenerCl
> ient(SubscriberSampler.java:105)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sampleWithList
> ener(SubscriberSampler.java:162)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sample(Subscri
> berSampler.java:150)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sample(Subscri
> berSampler.java:137)
> > > > at
> org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:290)
> > > > at java.lang.Thread.run(Thread.java:619)
> > > >
> > > > It looks like the sampler is trying to get a reference to a topic
> but the
> > > > instance hosted by SwiftMQ is a queue, so no dice.
> > > >
> > > > > If none of the existing JMS samplers do what you want, then
> some code
> > > > > will have to be written in order to solve your problem -
> whether as an
> > > > > Assertion or a Sampler.
> > > >
> > > > I'm going to extend the existing JMS sampler to work in Response
> mode. I'm
> > > > interested in contributing back to the project too :)
> > > >
> > > > I've already modified it to work with MapMessage as opposed to
> just
> > > > TextMessage types.
> > > >
> > > > > The BeanShell elements may be useful for prototyping.
> > > >
> > > > Thanks for the tip :)
> > > >
> > > > Noel
> > > >
> > > > > > Thanks for your help,
> > > > > >
> > > > > > Noel
> > > > > >
> > > > > > > > Regards,
> > > > > > > >
> > > > > > > > Noel
> > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Noel
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -----------------------------------------------------
> ----------
> > > > > > > > > >----- - To unsubscribe, e-mail:
> > > > > > > > > > [email protected] For
> additional
> > > > > > > > > > commands, e-mail: [email protected]
> > > > > > > > >
> > > > > > > > > -------------------------------------------------------
> ----------
> > > > > > > > >---- To unsubscribe, e-mail:
> > > > > > > > > [email protected] For
> additional
> > > > > > > > > commands, e-mail: [email protected]
> > > > > > >
> > > > > > > -----------------------------------------------------------
> ----------
> > > > > > > To unsubscribe, e-mail: jmeter-user-
> [email protected]
> > > > > > > For additional commands, e-mail: jmeter-user-
> [email protected]
> > > >
> > > >
> > > >
> > > > -----------------------------------------------------------------
> ----
> > > > To unsubscribe, e-mail: jmeter-user-
> [email protected]
> > > > For additional commands, e-mail: jmeter-user-
> [email protected]
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----------------------------------------------------------------
> ----
> > > > To unsubscribe, e-mail: jmeter-user-
> [email protected]
> > > > For additional commands, e-mail: jmeter-user-
> [email protected]
> > > >
> > > >
> > >
> > > -------------------------------------------------------------------
> --
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: jmeter-user-
> [email protected]
> > >
> > >
> > >
> > >
> >

Reply via email to