Author: veithen
Date: Wed Apr  8 22:05:36 2009
New Revision: 763425

URL: http://svn.apache.org/viewvc?rev=763425&view=rev
Log:
Updated the JMS documentation with some information initially posted on the 
Synapse Wiki.

Modified:
    webservices/commons/trunk/modules/transport/src/site/apt/jms.apt

Modified: webservices/commons/trunk/modules/transport/src/site/apt/jms.apt
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/src/site/apt/jms.apt?rev=763425&r1=763424&r2=763425&view=diff
==============================================================================
--- webservices/commons/trunk/modules/transport/src/site/apt/jms.apt (original)
+++ webservices/commons/trunk/modules/transport/src/site/apt/jms.apt Wed Apr  8 
22:05:36 2009
@@ -23,7 +23,9 @@
 
 * {Transport configuration}
 
-  Sample axis2.xml:
+  Connection factories are configured using parameters in the transport 
description in
+  <<<axis2.xml>>>. The syntax is the same for the transport listener and 
sender. For example,
+  the following configuration sets up the JMS listener with three connection 
factories:
 
 +----------------------------+  
     <transportReceiver name="jms" 
class="org.apache.axis2.transport.jms.JMSListener">
@@ -51,6 +53,49 @@
     implementation would create a JMS Queue with the service name. The JMS 
destination should ideally be created
     and administered through the JMS provider utilities.
     
+    For the JMS sender, only the outer element is different:
+    
++----------------------------+  
+    <transportSender name="jms" 
class="org.apache.axis2.transport.jms.JMSSender">
+        ...
+    </transportSender>
++----------------------------+  
+
+    As explained below, for the JMS sender configuration it is not mandatory 
(but recommended) to specify
+    connection factories.
+
+* {JMS connections and message dispatching}
+
+  Every deployed service for which the JMS transport is enabled will be 
associated with a
+  destination (queue or topic) according to the following rules:
+
+    * If the service has a <<<transport.jms.Destination>>> parameter, its 
value is interpreted
+      as the JNDI name of the destination.
+    
+    * Otherwise the service name is used as the JNDI name of the destination.
+  
+  At the same time, the connection factory is determined by looking at the 
service parameter
+  <<<transport.jms.ConnectionFactory>>>. If this parameter is not set, the 
default value
+  <<<default>>> is assumed. The value of this parameter is interpreted as a 
logical identifier
+  for the connection factory configuration defined in the transport 
configuration (see above).
+
+  It follows that JMS destinations are statically bound to services. Therefore 
the transport
+  always predispatches incoming messages to the service the destination is 
bound to.
+
+  The message is dispatched to an operation according to the following rules:
+
+    * The transport looks for a service parameter <<<Operation>>>. If this 
parameter is not present,
+      the default value <<<urn:mediate>>> is assumed.
+    
+    * If the service has an operation with the corresponding name, the 
transport predispatches
+      the message to that operation.
+    
+    * If no such operation exists, the message will be dispatched by the Axis2 
engine using the
+      configured dispatchers.
+  
+  In addition, if the JMS message has a property named <<<SOAPAction>>>, the 
value of this property
+  is interpreted as the SOAP action.
+
 * {Service configuration}
 
   [transport.jms.ConnectionFactory (Optional)]


Reply via email to