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] > > >

