I don't think this should be a problem, but I'll check with my employer. 

A few points to note: 

    • There are existing bugs in it (hangs when put in a loop) 
    • It's designed on the assumption of handling MapMessages 

So there may be some refactoring / fixing needed on it before it's suitable for 
mass comsuption 

Regards, 
Noel 




Are you willing to provide your updates to the JMeter project? 

I realise that this may be difficult, depending on your employer. 

If it is permitted, it could be done as patches via Bugzilla. 

On 21/06/2010, Noel O'Brien <[email protected]> wrote: 
> I've uploaded it to Dropbox. I need an email address so I can send you a 
> share? Will I use your email address from this thread? 
> 
> 
> Regards, 
> Noel 
> 
> ----- "João Tiago Ferreira" <[email protected]> wrote: 
> > 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] 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > 
> > 

--------------------------------------------------------------------- 
To unsubscribe, e-mail: [email protected] 
For additional commands, e-mail: [email protected] 


Reply via email to