There's a nasty spelling error highlighted here. Anyone care to open a JIRA?
---------- Forwarded message ---------- From: <conflue...@apache.org> Date: Tue, Oct 26, 2010 at 5:18 AM Subject: [CONF] Apache CXF Documentation > Using the JMSConfigFeature To: comm...@cxf.apache.org Using the JMSConfigFeature<https://cwiki.apache.org/confluence/display/CXF20DOC/Using+the+JMSConfigFeature> Page *edited* by Christian Schneider<https://cwiki.apache.org/confluence/display/~christian%2Bschneider> Changes (1) ... true means use topics \\ | | jmsProviderTibcoEms | false | true means that the jms provider is Tibco EMS. Currently this activates that the principal in the SecurityContext is populated from the header JMS_TIBCO_SENDER. (available from cxf version 2.2.6) | | useMessageIDAsCorrealationID | false | Specifies whether the JMS broker will use the message ID to correlate messages. By default a CXF client will set a generated correlation id instead | \\ Full Content 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. The following example configs use the p-namespace<http://static.springframework.org/spring/docs/2.5.x/reference/beans.html>from spring 2.5 but the old spring bean style is also possible. Inside a features element the JMSConfigFeature can be defined. <jaxws:client id="CustomerService" xmlns:customer="http://customerservice.example.com/" serviceName="customer:CustomerServiceService" endpointName="customer:CustomerServiceEndpoint" address="jms://" serviceClass="com.example.customerservice.CustomerService"> <jaxws:features> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.cxf.transport.jms.JMSConfigFeature" p:jmsConfig-ref="jmsConfig"/> </jaxws:features> </jaxws:client> In the above example it references a bean "jmsConfig" where the whole configuration for the JMS transport can be done. A jaxws Endpoint can be defined in the same way: <jaxws:endpoint xmlns:customer="http://customerservice.example.com/" id="CustomerService" address="jms://" serviceName="customer:CustomerServiceService" endpointName="customer:CustomerServiceEndpoint" implementor="com.example.customerservice.impl.CustomerServiceImpl"> <jaxws:features> <bean class="org.apache.cxf.transport.jms.JMSConfigFeature" p:jmsConfig-ref="jmsConfig" /> </jaxws:features> </jaxws:endpoint> The JMSConfiguration bean needs at least a reference to a conncection factory and a target destination. <bean id="jmsConfig" class="org.apache.cxf.transport.jms.JMSConfiguration" p:connectionFactory-ref="jmsConnectionFactory" p:targetDestination="test.cxf.jmstransport.queue" /> 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. <bean id="jmsConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"> <property name="targetConnectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> </property> </bean> JMSConfiguration options: Name Default Description connectionFactory (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 wrapInSingleConnectionFactory true Will wrap the connectionFactory with a Spring SingleConnectionFactory, which can improve the performance of the jms transport reconnectOnException false 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. targetDestination JNDI name or provider specific name of a destination. Example for ActiveMQ: test.cxf.jmstransport.queue replyDestination destinationResolver DynamicDestinationResolver 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. transactionManager none Reference to a spring transaction manager. This allows to take part in JTA Transactions with your webservice. taskExecutor SimpleAsyncTaskExecutor Reference to a spring TaskExecutor. This is used in listeners to decide how to handle incoming messages. Default is a spring SimpleAsyncTaskExecutor. useJms11 > CXF 2.1.3: false true means JMS 1.1 features are used false means only JMS 1.0.2 features are used messageIdEnabled true messageTimestampEnabled true cacheLevel -1 Specify the level of caching that the JMS listener container is allowed to apply. Please check out the java doc of the org.springframework.jms.listenerDefaultMessageListenerContainer for more information pubSubNoLocal false true do not receive your own messages when using topics receiveTimeout 0 How many milliseconds to wait for response messages. 0 means wait indefinitely explicitQosEnabled false true means that QoS parameters are set for each message. deliveryMode 1 NON_PERSISTENT = 1 messages will only be kept in memory PERSISTENT = 2 messages will be persisted to disk priority 4 Priority for the messages. See your JMS provider doc for details timeToLive 0 After this time the message will be discarded by the jms provider sessionTransacted false true means JMS transactions are used concurrentConsumers 1 minimum number of concurrent consumers for listener maxConcurrentConsumers 1 maximum number of concurrent consumers for listener maxConcurrentTasks 10 Maximum number of threads that handle the received requests (available from cxf 2.1.4 upwards) messageSelector jms selector to filter incoming messages (allows to share a queue) subscriptionDurable false durableSubscriptionName messageType text text binary byte pubSubDomain false false means use queues true means use topics jmsProviderTibcoEms false true means that the jms provider is Tibco EMS. Currently this activates that the principal in the SecurityContext is populated from the header JMS_TIBCO_SENDER. (available from cxf version 2.2.6) useMessageIDAsCorrealationID false Specifies whether the JMS broker will use the message ID to correlate messages. By default a CXF client will set a generated correlation id instead Change Notification Preferences<https://cwiki.apache.org/confluence/users/viewnotifications.action> View Online<https://cwiki.apache.org/confluence/display/CXF20DOC/Using+the+JMSConfigFeature>| View Changes<https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=100809&revisedVersion=9&originalVersion=8>| Add Comment<https://cwiki.apache.org/confluence/display/CXF20DOC/Using+the+JMSConfigFeature?showComments=true&showCommentArea=true#addcomment>