cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache CXF Documentation > Using the JMSConfigFeature
Date Sun, 20 Feb 2011 11:43:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2036/9/1/_/styles/combined.css?spaceKey=CXF20DOC&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CXF20DOC/Using+the+JMSConfigFeature">Using
the JMSConfigFeature</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~mazzag">Glen
Mazza</a>
    </h4>
        <div id="versionComment">
        <b>Comment:</b>
        Formatting changes to make text more friendly for PDF (Docbook).<br />
    </div>
        <br/>
                         <h4>Changes (34)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >{code} <br>JMSConfiguration
options: <br></td></tr>
            <tr><td class="diff-changed-lines" >|| Name || <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Default
||</span> Description || <br></td></tr>
            <tr><td class="diff-changed-lines" >| connectionFactory | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">(mandatory
field) |</span> <span class="diff-added-words"style="background-color: #dfd;">Mandatory
field.</span> Reference to a bean that defines a jms ConnectionFactory. Remember to
wrap the connectionFactory like described above when not using a pooling ConnectionFactory
| <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">|
wrapInSingleConnectionFactory | true | Will wrap the connectionFactory with a Spring SingleConnectionFactory,
which can improve the performance of the jms transport | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
wrapInSingleConnectionFactory | Will wrap the connectionFactory with a Spring SingleConnectionFactory,
which can improve the performance of the jms transport.  Default is true. | <br></td></tr>
            <tr><td class="diff-changed-lines" >| reconnectOnException | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">false
|</span> If wrapping the connectionFactory with a Spring SingleConnectionFactory and
reconnectOnException is true, will create a new connection if there is an exception thrown,
otherwise will not try to reconnect if the there is an exception thrown. <span class="diff-added-words"style="background-color:
#dfd;">Default is false.</span> | <br></td></tr>
            <tr><td class="diff-unchanged" >| targetDestination | JNDI name or
provider specific name of a destination. Example for ActiveMQ: \\ <br></td></tr>
            <tr><td class="diff-unchanged" >test.cxf.jmstransport.queue | <br></td></tr>
            <tr><td class="diff-unchanged" >| replyDestination | \\ | <br></td></tr>
            <tr><td class="diff-changed-lines" >| destinationResolver | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">DynamicDestinationResolver
|</span> Reference to a Spring DestinationResolver. This allows to define how destination
names are resolved to jms Destinations. By default a DynamicDestinationResolver is used. It
resolves destinations using the jms providers features. If you reference a JndiDestinationResolver
you can resolve the destination names using JNDI. | <br></td></tr>
            <tr><td class="diff-changed-lines" >| transactionManager | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">none
|</span> Reference to a spring transaction manager. This allows to take part in JTA
Transactions with your webservice. | <br></td></tr>
            <tr><td class="diff-changed-lines" >| taskExecutor | <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">SimpleAsyncTaskExecutor
|</span> Reference to a spring TaskExecutor. This is used in listeners to decide how
to handle incoming messages. Default is a spring SimpleAsyncTaskExecutor. | <br></td></tr>
            <tr><td class="diff-changed-lines" >| useJms11 | <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">&gt;
CXF 2.1.3: false |</span> true means JMS 1.1 features are used <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">false
means only JMS 1.0.2 features are used \\ | <br>| messageIdEnabled | true | | <br>|
messageTimestampEnabled | true | | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">false
means only JMS 1.0.2 features are used.  Default is false. \\ | <br>| messageIdEnabled
| Default is true. | <br>| messageTimestampEnabled | Default is true. | <br></td></tr>
            <tr><td class="diff-changed-lines" >| cacheLevel | <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">-1
|</span> Specify the level of caching that the JMS listener container is allowed to
apply. <br></td></tr>
            <tr><td class="diff-changed-lines" >Please check out the java doc
of the org.springframework.jms.listenerDefaultMessageListenerContainer for more <span class="diff-changed-words">information<span
class="diff-added-chars"style="background-color: #dfd;">.  Default is -1.</span></span>
| <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">|
pubSubNoLocal | false | true do not receive your own messages when using topics \\ | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
pubSubNoLocal | If true, do not receive your own messages when using topics.  Default is false.
\\ | <br></td></tr>
            <tr><td class="diff-changed-lines" >| receiveTimeout | <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">0
|</span> How many milliseconds to wait for response messages. 0 <span class="diff-added-words"style="background-color:
#dfd;">(default)</span> means wait <span class="diff-changed-words">indefinitely<span
class="diff-added-chars"style="background-color: #dfd;">.</span></span> | <br></td></tr>
            <tr><td class="diff-changed-lines" >| explicitQosEnabled | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">false
| true</span> <span class="diff-added-words"style="background-color: #dfd;">If
true,</span> means that QoS parameters are set for each message. <span class="diff-added-words"style="background-color:
#dfd;"> Default is false.</span> | <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">|
deliveryMode | 1 | NON_PERSISTENT = 1 messages will only be kept in memory \\ <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
deliveryMode | NON_PERSISTENT = 1 (default) messages will be kept only in memory \\ <br></td></tr>
            <tr><td class="diff-unchanged" >\\ <br>PERSISTENT = 2&amp;nbsp;&amp;nbsp;&amp;nbsp;
messages will be persisted to disk \\ | <br></td></tr>
            <tr><td class="diff-changed-lines" >| priority | <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">4
|</span> Priority for the messages. <span class="diff-added-words"style="background-color:
#dfd;">Default is 4.</span> See your JMS provider doc for details | <br></td></tr>
            <tr><td class="diff-changed-lines" >| timeToLive | <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">0
|</span> After this time the message will be discarded by the jms provider <span
class="diff-added-words"style="background-color: #dfd;">(default 0).</span> | <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">|
sessionTransacted | false | true means JMS transactions are used \\ | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
sessionTransacted | If true, means JMS transactions are used. (Default is false). \\ | <br></td></tr>
            <tr><td class="diff-changed-lines" >| concurrentConsumers | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">1
| minimum</span> <span class="diff-added-words"style="background-color: #dfd;">Minimum</span>
number of concurrent consumers for listener <span class="diff-added-words"style="background-color:
#dfd;">(default 1).</span> | <br></td></tr>
            <tr><td class="diff-changed-lines" >| maxConcurrentConsumers | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">1
| maximum</span> <span class="diff-added-words"style="background-color: #dfd;">Maximum</span>
number of concurrent consumers for listener <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">|</span>
<span class="diff-added-words"style="background-color: #dfd;">(default 1).|</span>
<br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">|
maxConcurrentTasks | 10 | Maximum number of threads that handle the received requests (available
from cxf 2.1.4 upwards) | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
maxConcurrentTasks | Maximum number of threads that handle the received requests (Default
10). | <br></td></tr>
            <tr><td class="diff-changed-lines" >| messageSelector | <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">|</span>
jms selector to filter incoming messages (allows to share a queue) | <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">|
subscriptionDurable \\ | false | | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
subscriptionDurable \\ | Default false. | <br></td></tr>
            <tr><td class="diff-unchanged" >| durableSubscriptionName \\ | | <br></td></tr>
            <tr><td class="diff-changed-lines" >| messageType | text <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">|
text</span> <span class="diff-added-words"style="background-color: #dfd;">(default)</span>
<br></td></tr>
            <tr><td class="diff-unchanged" >binary \\ <br>byte \\ | <br></td></tr>
            <tr><td class="diff-changed-lines" >| pubSubDomain | false <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">|
false</span> <span class="diff-added-words"style="background-color: #dfd;">(default)</span>
means use queues <br></td></tr>
            <tr><td class="diff-unchanged" >true means use topics \\ | <br></td></tr>
            <tr><td class="diff-changed-lines" >| jmsProviderTibcoEms | <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">false
|</span> true means that the jms provider is Tibco EMS. <span class="diff-added-words"style="background-color:
#dfd;">Default is false. </span> Currently this activates that the principal in the
SecurityContext is populated from the header JMS_TIBCO_SENDER. (available from cxf version
2.2.6)  | <br></td></tr>
            <tr><td class="diff-changed-lines" >| useMessageIDAsCorrelationID
| <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">false
| Specifies whether the</span> <span class="diff-added-words"style="background-color:
#dfd;">If true, specifies</span> JMS broker will use the message ID to correlate
messages. By default <span class="diff-added-words"style="background-color: #dfd;">(false)</span>
a CXF client will set a generated <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">
</span> correlation id instead | <br></td></tr>
            <tr><td class="diff-unchanged" >\\ <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>In older CXF version the JMS transport is configured by defining a JMSConduit
or JMSDestination. Starting with CXF 2.0.9 and 2.1.3 the JMS transport includes an easier
configuration option that is more conformant to the spring dependency injection. Additionally
the new configuration has much more options. For example it is not necessary anymore to use
JNDI to resolve the connection factory. Instead it can be defined in the spring config.</p>

<p>The following example configs use the <a href="http://static.springframework.org/spring/docs/2.5.x/reference/beans.html"
class="external-link" rel="nofollow">p-namespace</a> from spring 2.5 but the old
spring bean style is also possible.</p>

<p>Inside a features element the JMSConfigFeature can be defined.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
 &lt;jaxws:client id=<span class="code-quote">"CustomerService"</span>
	xmlns:customer=<span class="code-quote">"http:<span class="code-comment">//customerservice.example.com/"</span>
</span>	serviceName=<span class="code-quote">"customer:CustomerServiceService"</span>
	endpointName=<span class="code-quote">"customer:CustomerServiceEndpoint"</span>
address=<span class="code-quote">"jms:<span class="code-comment">//"</span>
</span>	serviceClass=<span class="code-quote">"com.example.customerservice.CustomerService"</span>&gt;
	&lt;jaxws:features&gt;
		&lt;bean xmlns=<span class="code-quote">"http:<span class="code-comment">//www.springframework.org/schema/beans"</span>
</span>			class=<span class="code-quote">"org.apache.cxf.transport.jms.JMSConfigFeature"</span>
			p:jmsConfig-ref=<span class="code-quote">"jmsConfig"</span>/&gt;
	&lt;/jaxws:features&gt;
&lt;/jaxws:client&gt;
</pre>
</div></div>
<p>In the above example it references a bean "jmsConfig" where the whole configuration
for the JMS transport can be done.</p>

<p>A jaxws Endpoint can be defined in the same way:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
&lt;jaxws:endpoint 
	xmlns:customer=<span class="code-quote">"http:<span class="code-comment">//customerservice.example.com/"</span>
</span>	id=<span class="code-quote">"CustomerService"</span> 
	address=<span class="code-quote">"jms:<span class="code-comment">//"</span>
</span>	serviceName=<span class="code-quote">"customer:CustomerServiceService"</span>
	endpointName=<span class="code-quote">"customer:CustomerServiceEndpoint"</span>
	implementor=<span class="code-quote">"com.example.customerservice.impl.CustomerServiceImpl"</span>&gt;
	&lt;jaxws:features&gt;
		&lt;bean class=<span class="code-quote">"org.apache.cxf.transport.jms.JMSConfigFeature"</span>
			p:jmsConfig-ref=<span class="code-quote">"jmsConfig"</span> /&gt;
	&lt;/jaxws:features&gt;
&lt;/jaxws:endpoint&gt;
</pre>
</div></div>


<p>The JMSConfiguration bean needs at least a reference to a conncection factory and
a target destination.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
 &lt;bean id=<span class="code-quote">"jmsConfig"</span> class=<span class="code-quote">"org.apache.cxf.transport.jms.JMSConfiguration"</span>
	p:connectionFactory-ref=<span class="code-quote">"jmsConnectionFactory"</span>
	p:targetDestination=<span class="code-quote">"test.cxf.jmstransport.queue"</span>
/&gt;
</pre>
</div></div>
<p>If your ConnectionFactory does not cache connections you should wrap it in a spring
SingleConnectionFactory. This is necessary because the JMS Transport creates a new connection
for each message and the SingleConnectionFactory is needed to cache this connection.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
 &lt;bean id=<span class="code-quote">"jmsConnectionFactory"</span> class=<span
class="code-quote">"org.springframework.jms.connection.SingleConnectionFactory"</span>&gt;
	&lt;property name=<span class="code-quote">"targetConnectionFactory"</span>&gt;
		&lt;bean class=<span class="code-quote">"org.apache.activemq.ActiveMQConnectionFactory"</span>&gt;
			&lt;property name=<span class="code-quote">"brokerURL"</span> value=<span
class="code-quote">"tcp:<span class="code-comment">//localhost:61616"</span>
/&gt;
</span>		&lt;/bean&gt;
	&lt;/property&gt;
&lt;/bean&gt;
</pre>
</div></div>
<p>JMSConfiguration options:</p>
<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Description <br class="atl-forced-newline" /> </th>
</tr>
<tr>
<td class='confluenceTd'> connectionFactory </td>
<td class='confluenceTd'> Mandatory field. Reference to a bean that defines a jms ConnectionFactory.
Remember to wrap the connectionFactory like described above when not using a pooling ConnectionFactory
<br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> wrapInSingleConnectionFactory </td>
<td class='confluenceTd'> Will wrap the connectionFactory with a Spring SingleConnectionFactory,
which can improve the performance of the jms transport.  Default is true. </td>
</tr>
<tr>
<td class='confluenceTd'> reconnectOnException </td>
<td class='confluenceTd'> If wrapping the connectionFactory with a Spring SingleConnectionFactory
and reconnectOnException is true, will create a new connection if there is an exception thrown,
otherwise will not try to reconnect if the there is an exception thrown. Default is false.
</td>
</tr>
<tr>
<td class='confluenceTd'> targetDestination </td>
<td class='confluenceTd'> JNDI name or provider specific name of a destination. Example
for ActiveMQ: <br class="atl-forced-newline" />
test.cxf.jmstransport.queue </td>
</tr>
<tr>
<td class='confluenceTd'> replyDestination </td>
<td class='confluenceTd'> <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> destinationResolver </td>
<td class='confluenceTd'> Reference to a Spring DestinationResolver. This allows to
define how destination names are resolved to jms Destinations. By default a DynamicDestinationResolver
is used. It resolves destinations using the jms providers features. If you reference a JndiDestinationResolver
you can resolve the destination names using JNDI. <br class="atl-forced-newline" />
</td>
</tr>
<tr>
<td class='confluenceTd'> transactionManager <br class="atl-forced-newline" />
</td>
<td class='confluenceTd'> Reference to a spring transaction manager. This allows to
take part in JTA Transactions with your webservice. <br class="atl-forced-newline" />
</td>
</tr>
<tr>
<td class='confluenceTd'> taskExecutor </td>
<td class='confluenceTd'> Reference to a spring TaskExecutor. This is used in listeners
to decide how to handle incoming messages. Default is a spring SimpleAsyncTaskExecutor. <br
class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> useJms11 </td>
<td class='confluenceTd'> true means JMS 1.1 features are used <br class="atl-forced-newline"
/>
false means only JMS 1.0.2 features are used.  Default is false. <br class="atl-forced-newline"
/> </td>
</tr>
<tr>
<td class='confluenceTd'> messageIdEnabled </td>
<td class='confluenceTd'> Default is true. </td>
</tr>
<tr>
<td class='confluenceTd'> messageTimestampEnabled </td>
<td class='confluenceTd'> Default is true. </td>
</tr>
<tr>
<td class='confluenceTd'> cacheLevel </td>
<td class='confluenceTd'> Specify the level of caching that the JMS listener container
is allowed to apply. <br class="atl-forced-newline" />
Please check out the java doc of the org.springframework.jms.listenerDefaultMessageListenerContainer
for more information.  Default is -1. <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> pubSubNoLocal </td>
<td class='confluenceTd'> If true, do not receive your own messages when using topics.
 Default is false. <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> receiveTimeout </td>
<td class='confluenceTd'> How many milliseconds to wait for response messages. 0 (default)
means wait indefinitely. <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> explicitQosEnabled </td>
<td class='confluenceTd'> If true, means that QoS parameters are set for each message.
 Default is false. </td>
</tr>
<tr>
<td class='confluenceTd'> deliveryMode </td>
<td class='confluenceTd'> NON_PERSISTENT = 1 (default) messages will be kept only in
memory <br class="atl-forced-newline" />
<br class="atl-forced-newline" />
PERSISTENT = 2&nbsp;&nbsp;&nbsp; messages will be persisted to disk <br class="atl-forced-newline"
/> </td>
</tr>
<tr>
<td class='confluenceTd'> priority </td>
<td class='confluenceTd'> Priority for the messages. Default is 4. See your JMS provider
doc for details <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> timeToLive </td>
<td class='confluenceTd'> After this time the message will be discarded by the jms provider
(default 0). <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> sessionTransacted </td>
<td class='confluenceTd'> If true, means JMS transactions are used. (Default is false).
<br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> concurrentConsumers </td>
<td class='confluenceTd'> Minimum number of concurrent consumers for listener (default
1). <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> maxConcurrentConsumers </td>
<td class='confluenceTd'> Maximum number of concurrent consumers for listener (default
1).</td>
</tr>
<tr>
<td class='confluenceTd'> maxConcurrentTasks </td>
<td class='confluenceTd'> Maximum number of threads that handle the received requests
(Default 10). </td>
</tr>
<tr>
<td class='confluenceTd'> messageSelector <br class="atl-forced-newline" /> </td>
<td class='confluenceTd'> jms selector to filter incoming messages (allows to share
a queue) <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> subscriptionDurable <br class="atl-forced-newline" />
</td>
<td class='confluenceTd'> Default false. </td>
</tr>
<tr>
<td class='confluenceTd'> durableSubscriptionName <br class="atl-forced-newline"
/> </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> messageType <br class="atl-forced-newline" /> </td>
<td class='confluenceTd'> text (default) <br class="atl-forced-newline" />
binary <br class="atl-forced-newline" />
byte <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> pubSubDomain <br class="atl-forced-newline" /> </td>
<td class='confluenceTd'> false (default) means use queues <br class="atl-forced-newline"
/>
true means use topics <br class="atl-forced-newline" /> </td>
</tr>
<tr>
<td class='confluenceTd'> jmsProviderTibcoEms </td>
<td class='confluenceTd'> true means that the jms provider is Tibco EMS. Default is
false.  Currently this activates that the principal in the SecurityContext is populated from
the header JMS_TIBCO_SENDER. (available from cxf version 2.2.6)  </td>
</tr>
<tr>
<td class='confluenceTd'> useMessageIDAsCorrelationID </td>
<td class='confluenceTd'> If true, specifies JMS broker will use the message ID to correlate
messages. By default (false) a CXF client will set a generated correlation id instead </td>
</tr>
</tbody></table>
</div>

<p><br class="atl-forced-newline" /></p>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/Using+the+JMSConfigFeature">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=100809&revisedVersion=11&originalVersion=10">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/Using+the+JMSConfigFeature?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message