You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jakarta.apache.org by se...@apache.org on 2010/06/24 12:47:05 UTC

svn commit: r957503 - /jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml

Author: sebb
Date: Thu Jun 24 10:47:05 2010
New Revision: 957503

URL: http://svn.apache.org/viewvc?rev=957503&view=rev
Log:
Add some JMS notes

Modified:
    jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=957503&r1=957502&r2=957503&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Thu Jun 24 10:47:05 2010
@@ -1145,6 +1145,8 @@ For details, see <complink name="BSF Sam
   <property name="Name" required="">Descriptive name for this element that is shown in the tree.</property>
   <property name="use JNDI properties file" required="Yes">use jndi.properties. 
   Note that the file must be on the classpath - e.g. by updating the user.classpath JMeter property.
+  If this option is not selected, JMeter uses the "JNDI Initial Context Factory" and "Provider URL" fields
+  to create the connection.
   </property>
   <property name="JNDI Initial Context Factory" required="No">Name of the context factory</property>
   <property name="Provider URL" required="Yes, unless using jndi.properties">The URL for the jms provider</property>
@@ -1177,6 +1179,24 @@ This is a very simple implementation; it
 <p>
 <b>Note: </b> the Object message type is not implemented yet.
 </p>
+<p>
+The following table shows some values which may be useful when configuring JMS:
+<table>
+<tr>
+<!-- Anakia does not like th cell without any text -->
+<th>Apache <a href="http://activemq.apache.org/">ActiveMQ</a></th>
+<th>Value(s)</th>
+<th>Comment</th>
+</tr>
+<tr><td>Context Factory</td><td>org.apache.activemq.jndi.ActiveMQInitialContextFactory</td><td>.</td></tr>
+<tr><td>Provider URL</td><td>vm://localhost</td><td></td></tr>
+<tr><td>Provider URL</td><td>vm:(broker:(vm://localhost)?persistent=false)</td><td>Disable persistence</td></tr>
+<tr><td>Queue Reference</td><td>dynamicQueues/QUEUENAME</td>
+<td><a href="http://activemq.apache.org/jndi-support.html#JNDISupport-Dynamicallycreatingdestinations">Dynamically define</a> the QUEUENAME to JNDI</td></tr>
+<tr><td>Topic Reference</td><td>dynamicTopics/TOPICNAME</td>
+<td><a href="http://activemq.apache.org/jndi-support.html#JNDISupport-Dynamicallycreatingdestinations">Dynamically define</a> the TOPICNAME to JNDI</td></tr>
+</table>
+</p>
 </component>
 
 <component name="JMS Subscriber" index="&sect-num;.1.14"  width="527" height="411" screenshot="jmssubscriber.png">
@@ -1192,7 +1212,11 @@ This is a very simple implementation; it
 	</description>
 <properties>
   <property name="Name" required="">Descriptive name for this element that is shown in the tree.</property>
-  <property name="use JNDI properties file" required="Yes">use jndi.properties to create topic</property>
+  <property name="use JNDI properties file" required="Yes">use jndi.properties. 
+  Note that the file must be on the classpath - e.g. by updating the user.classpath JMeter property.
+  If this option is not selected, JMeter uses the "JNDI Initial Context Factory" and "Provider URL" fields
+  to create the connection.
+  </property>
   <property name="JNDI Initial Context Factory" required="No">Name of the context factory</property>
   <property name="Provider URL" required="No">The URL for the jms provider</property>
   <property name="Destination" required="Yes">the message destination (topic or queue name)</property>
@@ -1203,10 +1227,23 @@ This is a very simple implementation; it
   <property name="Read response" required="Yes">should the sampler read the response. If not, only the response length is returned.</property>
   <property name="Timeout" required="Yes">Specify the timeout to be applied, in milliseconds. 0=none. 
   This is the overall aggregate timeout, not per sample.</property>
-  <property name="Client" required="Yes">Which client to use</property>
+  <property name="Client" required="Yes">Which client implementation to use.
+  Both of them create connections which can read messages. However they use a different strategy, as described below:
+  <ul>
+  <li>MessageConsumer.receive() - calls receive() for every requested message. 
+  Retains the connection between samples, but does not fetch messages unless the sampler is active.
+  This is best suited to Queue subscriptions. 
+  </li>
+  <li>MessageListener.onMessage() - establishes a Listener that stores all incoming messages on a queue. 
+  The listener remains active after the sampler completes.
+  This is best suited to Topic subscriptions.</li>
+  </ul>
+  </property>
 </properties>
 <p>
-TBA
+<b>NOTE:</b> JMeter 2.3.4 and earlier used a different strategy for the MessageConsumer.receive() client. 
+Previously this started a background thread which polled for messages. This thread continued when the sampler
+completed, so the net effect was similar to the MessageListener.onMessage() strategy.
 </p>
 </component>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@jakarta.apache.org
For additional commands, e-mail: notifications-help@jakarta.apache.org