no problem ;) just didn't want to patch in more code if it was the same 

Regards, 
Noel 




No i would never do that without giving you the credits... 

I made it based on the topic subscriber code. However I had to the same "trick" 
as you did to clean the resources at the end of every sample. 

Best regards 

João Ferreira 

> -----Original Message----- 
> From: Noel O'Brien [mailto:[email protected]] 
> Sent: terça-feira, 22 de Junho de 2010 9:34 
> To: JMeter Users List 
> Subject: Re: JMS Assertion?? 
> 
> 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