Hi João, 

Was the patch you submitted the source I sent you? I've cleared it with my 
company so it's ok to submit 

Regards, 
Noel 




Hi 

Patch for JMS Queue receiver in 
https://issues.apache.org/bugzilla/show_bug.cgi?id=49482 

The great difference from Topic Subscriber is the cleaning of resources and is 
impossibility of choosing the client method to use. 

Instead of cleaning the Receivers in the end of the test they are cleaned at 
the end of the sample. I had problems with the initial approach, when running 
test with multiple clients, the 1st client was receiving all the messages. This 
behavior worked in topics because the delivery semantics are different 
publish/subscribe vs point-to-point. 

Best regards 

João Ferreira 

> -----Original Message----- 
> From: Noel O'Brien [mailto:[email protected]] 
> Sent: segunda-feira, 21 de Junho de 2010 15:11 
> To: JMeter Users List 
> Subject: Re: JMS Assertion?? 
> 
> 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: jmeter-user- 
> [email protected] 
> > > > > > > > > > > > 
> > > > > > > > > > > > ------------------------------------------------- 
> ------ 
> > > > ---------- 
> > > > > > > > > > > >---- To unsubscribe, e-mail: 
> > > > > > > > > > > > [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: 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: [email protected] 
> 


Reply via email to