Author: veithen
Date: Wed Apr 8 21:41:00 2009
New Revision: 763411
URL: http://svn.apache.org/viewvc?rev=763411&view=rev
Log:
Converted the JMS documentation from XDoc to APT.
Added:
webservices/commons/trunk/modules/transport/src/site/apt/jms.apt
Removed:
webservices/commons/trunk/modules/transport/src/site/xdoc/jms.xml
Added: 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=763411&view=auto
==============================================================================
--- webservices/commons/trunk/modules/transport/src/site/apt/jms.apt (added)
+++ webservices/commons/trunk/modules/transport/src/site/apt/jms.apt Wed Apr 8
21:41:00 2009
@@ -0,0 +1,187 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements. See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership. The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License. You may obtain a copy of the License at
+~~
+~~ http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied. See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+JMS Transport
+
+* {Content}
+
+%{toc|section=1|fromDepth=1}
+
+* {Transport configuration}
+
+ Sample axis2.xml:
+
++----------------------------+
+ <transportReceiver name="jms"
class="org.apache.axis2.transport.jms.JMSListener">
+ <parameter name="myTopicConnectionFactory" locked="false">
+ <parameter name="java.naming.factory.initial"
locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url"
locked="false">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName"
locked="false">TopicConnectionFactory</parameter>
+ </parameter>
+ <parameter name="myQueueConnectionFactory" locked="false">
+ <parameter name="java.naming.factory.initial"
locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url"
locked="false">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName"
locked="false">QueueConnectionFactory</parameter>
+ </parameter>
+ <parameter name="default" locked="false">
+ <parameter name="java.naming.factory.initial"
locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
+ <parameter name="java.naming.provider.url"
locked="false">tcp://localhost:61616</parameter>
+ <parameter name="transport.jms.ConnectionFactoryJNDIName"
locked="false">QueueConnectionFactory</parameter>
+ </parameter>
+ </transportReceiver>
++----------------------------+
+
+ If a connection factory named "default" (as shown above) is defined, this
would be used for services which does
+ not explicitly specify the connection factory that should be used. The
services.xml of a service should indicate
+ the connection factory and the destination name to be associated with. If
a destination is not specified, the
+ implementation would create a JMS Queue with the service name. The JMS
destination should ideally be created
+ and administered through the JMS provider utilities.
+
+* {Service configuration}
+
+ [transport.jms.ConnectionFactory (Optional)]
+ The JMS connection factory definition (from axis2.xml) to be used to
+ listen for messages for this service.
+
+ [transport.jms.Destination (Optional)]
+ The JMS destination name (Defaults to a Queue with the service name).
+
+ [transport.jms.DestinationType (Optional)]
+ The JMS destination type. Accept values 'queue' or 'topic' (default: queue).
+
+ [transport.jms.ReplyDestination (Optional)]
+ The destination where a reply will be posted.
+
+ [transport.jms.ContentType (Optional)]
+ Specifies how the transport listener should determine the content type of
received messages.
+ This can either be a simple string value, in which case the transport
listener assumes that
+ the received messages always have the specified content type, or a set of
rules as in the following example:
+
++--------------------------------------------+
+<parameter name="transport.jms.ContentType">
+ <rules>
+ <jmsProperty>contentType</jmsProperty>
+ <jmsProperty>ctype</jmsProperty>
+ <default>text/xml</default>
+ </rules>
+</parameter>
++--------------------------------------------+
+
+ The rules are evaluated in turn until the first matches. The following rule
types are defined:
+
+ [jmsProperty]
+ Extract the content type from the specified message property.
+
+ [bytesMessage\
+ textMessage]
+ Match the corresponding message type. The content type is specified as the
value of
+ the rule, e.g. <<<\<bytesMessage\>binary/octet-stream\</bytesMessage\>>>>
+
+ [default]
+ Defines the default content type. This rule always matches and should
therefore
+ be the last rule in the rule set.
+
+ If none of the rules matches, an error is triggered and the message is not
processed.
+ The default value for this property corresponds to the following set of
rules:
+
++--------------------------------------------+
+<parameter name="transport.jms.ContentType">
+ <rules>
+ <jmsProperty>Content-Type</jmsProperty>
+ <bytesMessage>application/octet-stream</bytesMessage>
+ <textMessage>text/plain</textMessage>
+ </rules>
+</parameter>
++--------------------------------------------+
+
+ This choice preserves compatibility with previous versions of the JMS
transport. Note however
+ that "Content-Type" is not a valid JMS property name and will not work with
some JMS providers.
+
+ [Wrapper (Optional)]
+ The wrapper element for pure text or binary messages. Note that this
parameter is
+ actually not JMS specific but recognized by the message builders for
text/plain and
+ application/octet-stream (which are the respective default content types for
JMS text
+ and binary messages).
+
+ []
+
+ Sample services.xml:
+
++--------------------------------------------+
+<service name="echo">
+ <transports>
+ ....
+ <transport>jms</transport>
+ </transports>
+ ...
+ <parameter name="transport.jms.ConnectionFactory"
locked="true">myTopicConnectionFactory</parameter>
+ <parameter name="transport.jms.Destination"
locked="true">dynamicTopics/something.TestTopic</parameter>
+</service>
++--------------------------------------------+
+
+* {Endpoint references}
+
++--------------------------------------------+
+jms-epr = "jms:/" jms-dest [ "?" param *( [ "&" param ] ) ]
+param = param-name "=" param-value
++--------------------------------------------+
+
+ [transport.jms.ConnectionFactoryJNDIName]
+ TODO
+
+ [transport.jms.DestinationType]
+ TODO
+
+ [transport.jms.ReplyDestination]
+ TODO
+
+ [transport.jms.ReplyDestinationType]
+ TODO
+
+ [transport.jms.ContentTypeProperty]
+ The name of the message property to store the content type of messages sent
to the endpoint.
+
+ [java.naming.factory.initial]
+ TODO
+
+ [java.naming.provider.url]
+ TODO
+
+ [java.naming.security.principal]
+ TODO
+
+ [java.naming.security.credentials]
+ TODO
+
+* {Content type detection}
+
+ [Incoming requests]
+ The content type of the message is determined according to the settings
specified in
+ the <<<transport.jms.ContentType>>> service parameter.
+
+ [Outgoing responses]
+ If the content type of the request was determined using the value of a
message property, the
+ content type of the response will stored in the same message property.
+
+ [Outgoing requests]
+ The content type will be stored in the message property specified by
+ the <<<transport.jms.ContentTypeProperty>>> message context property or
+ the <<<transport.jms.ContentTypeProperty>>> parameter of the endpoint
reference.
+
+ [Incoming responses]
+ The content type will be extracted from the message property that was used to
+ store the content type of the outgoing request.