Summary: | JMSSampler closes InitialContext too early | ||
---|---|---|---|
Product: | JMeter - Now in Github | Reporter: | Bradford Hovinen <hovinen> |
Component: | Main | Assignee: | JMeter issues mailing list <issues> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | p.mouawad |
Priority: | P2 | ||
Version: | 2.11 | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All | ||
Attachments: | Patch to fix problem |
Date: Fri Aug 22 21:11:17 2014 New Revision: 1619932 URL: http://svn.apache.org/r1619932 Log: Bug 56809 - JMSSampler closes InitialContext too early Bugzilla Id: 56809 Modified: jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java jmeter/trunk/xdocs/changes.xml Thanks for contribution. This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/3409 |
Created attachment 31869 [details] Patch to fix problem JMSSampler closes the InitialContext in threadStarted, before the individual requests are sent. When authentication is required for the queue, the credentials are then lost with the closure of the InitialContext. As a result, all send-operations run into the following error: JMSSecurityException: Access denied to resource: type=<jms>, application=xxxx, destinationType=queue, resource=xxxx, action=send at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110) at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncTran(DispatcherAdapter.java:53) at weblogic.jms.client.JMSProducer.toFEProducer(JMSProducer.java:1300) at weblogic.jms.client.JMSProducer.deliveryInternal(JMSProducer.java:807) at weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:543) at weblogic.jms.client.JMSProducer.sendWithListener(JMSProducer.java:394) at weblogic.jms.client.JMSProducer.send(JMSProducer.java:384) at weblogic.jms.client.WLProducerImpl.send(WLProducerImpl.java:970) at org.apache.jmeter.protocol.jms.sampler.FixedQueueExecutor.sendAndReceive(FixedQueueExecutor.java:87) at org.apache.jmeter.protocol.jms.sampler.JMSSampler.sample(JMSSampler.java:151) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257) at java.lang.Thread.run(Thread.java:744) Caused by: weblogic.jms.common.JMSSecurityException: Access denied to resource: type=<jms>, application=ppit-jms-module, destinationType=queue, resource=Sebula.Prepaid.Asynch.Request, action=send at weblogic.utils.StackTraceDisabled.unknownMethod() Caused by: weblogic.jms.common.JMSSecurityException: Access denied to resource: type=<jms>, application=ppit-jms-module, destinationType=queue, resource=Sebula.Prepaid.Asynch.Request, action=send ... 1 more Caused by: weblogic.jms.common.JMSSecurityException: Access denied to resource: type=<jms>, application=ppit-jms-module, destinationType=queue, resource=Sebula.Prepaid.Asynch.Request, action=send ... 1 more The solution is to close the InitialContext in threadFinished instead. A patch is attached. (Running against a JMS-queue on Weblogic 12.1.2)