Author: buildbot Date: Tue Oct 27 15:21:50 2015 New Revision: 970381 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/activemq.html websites/production/camel/content/book-component-appendix.html websites/production/camel/content/book-in-one-page.html websites/production/camel/content/cache/main.pageCache Modified: websites/production/camel/content/activemq.html ============================================================================== --- websites/production/camel/content/activemq.html (original) +++ websites/production/camel/content/activemq.html Tue Oct 27 15:21:50 2015 @@ -41,7 +41,6 @@ <script src='//camel.apache.org/styles/highlighter/scripts/shCore.js' type='text/javascript'></script> <script src='//camel.apache.org/styles/highlighter/scripts/shBrushJava.js' type='text/javascript'></script> <script src='//camel.apache.org/styles/highlighter/scripts/shBrushXml.js' type='text/javascript'></script> - <script src='//camel.apache.org/styles/highlighter/scripts/shBrushPlain.js' type='text/javascript'></script> <script type="text/javascript"> SyntaxHighlighter.defaults['toolbar'] = false; @@ -86,69 +85,23 @@ <tbody> <tr> <td valign="top" width="100%"> -<div class="wiki-content maincontent"><h2 id="ActiveMQ-ActiveMQComponent">ActiveMQ Component</h2> - -<p>The ActiveMQ component allows messages to be sent to a <a shape="rect" class="external-link" href="http://java.sun.com/products/jms/" rel="nofollow">JMS</a> Queue or Topic or messages to be consumed from a JMS Queue or Topic using <a shape="rect" class="external-link" href="http://activemq.apache.org/" title="The most popular and powerful open source message broker">Apache ActiveMQ</a>. </p> - -<p>This component is based on <a shape="rect" href="jms.html">JMS Component</a> and uses Spring's JMS support for declarative transactions, using Spring's <code>JmsTemplate</code> for sending and a <code>MessageListenerContainer</code> for consuming. All the options from the <a shape="rect" href="jms.html">JMS</a> component also applies for this component.</p> - -<p>To use this component make sure you have the <code>activemq.jar</code> or <code>activemq-core.jar</code> on your classpath along with any Camel dependencies such as <code>camel-core.jar</code>, <code>camel-spring.jar</code> and <code>camel-jms.jar</code>.</p> - -<div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Transacted and caching</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"> -<p>See section <em>Transactions and Cache Levels</em> below on <a shape="rect" href="jms.html">JMS</a> page if you are using transactions with <a shape="rect" href="jms.html">JMS</a> as it can impact performance.</p></div></div> - -<h3 id="ActiveMQ-URIformat">URI format</h3> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:[queue:|topic:]destinationName +<div class="wiki-content maincontent"><h2 id="ActiveMQ-ActiveMQComponent">ActiveMQ Component</h2><p>The ActiveMQ component allows messages to be sent to a <a shape="rect" class="external-link" href="http://java.sun.com/products/jms/" rel="nofollow">JMS</a> Queue or Topic or messages to be consumed from a JMS Queue or Topic using <a shape="rect" class="external-link" href="http://activemq.apache.org/" title="The most popular and powerful open source message broker">Apache ActiveMQ</a>.</p><p>This component is based on <a shape="rect" href="jms.html">JMS Component</a> and uses Spring's JMS support for declarative transactions, using Spring's <code>JmsTemplate</code> for sending and a <code>MessageListenerContainer</code> for consuming. All the options from the <a shape="rect" href="jms.html">JMS</a> component also applies for this component.</p><p>To use this component make sure you have the <code>activemq.jar</code> or <code>activemq-core.jar</code> on your classpath along with any C amel dependencies such as <code>camel-core.jar</code>, <code>camel-spring.jar</code> and <code>camel-jms.jar</code>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Transacted and caching</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>See section <em>Transactions and Cache Levels</em> below on <a shape="rect" href="jms.html">JMS</a> page if you are using transactions with <a shape="rect" href="jms.html">JMS</a> as it can impact performance.</p></div></div><h3 id="ActiveMQ-URIformat">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:[queue:|topic:]destinationName ]]></script> -</div></div> - -<p>Where <strong>destinationName</strong> is an ActiveMQ queue or topic name. By default, the <strong>destinationName</strong> is interpreted as a queue name. For example, to connect to the queue, <code>FOO.BAR</code>, use:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:FOO.BAR +</div></div><p>Where <strong>destinationName</strong> is an ActiveMQ queue or topic name. By default, the <strong>destinationName</strong> is interpreted as a queue name. For example, to connect to the queue, <code>FOO.BAR</code>, use:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:FOO.BAR ]]></script> -</div></div> - -<p>You can include the optional <code>queue:</code> prefix, if you prefer:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:queue:FOO.BAR +</div></div><p>You can include the optional <code>queue:</code> prefix, if you prefer:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:queue:FOO.BAR ]]></script> -</div></div> - -<p>To connect to a topic, you must include the <code>topic:</code> prefix. For example, to connect to the topic, <code>Stocks.Prices</code>, use:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:topic:Stocks.Prices +</div></div><p>To connect to a topic, you must include the <code>topic:</code> prefix. For example, to connect to the topic, <code>Stocks.Prices</code>, use:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:topic:Stocks.Prices ]]></script> -</div></div> - -<h3 id="ActiveMQ-Options">Options</h3> -<p>See Options on the <a shape="rect" href="jms.html">JMS</a> component as all these options also apply for this component.</p> - -<h3 id="ActiveMQ-ConfiguringtheConnectionFactory">Configuring the Connection Factory</h3> - -<p>This <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQRouteTest.java">test case</a> shows how to add an ActiveMQComponent to the <a shape="rect" href="camelcontext.html">CamelContext</a> using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ. </p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -camelContext.addComponent("activemq", activeMQComponent("vm://localhost?broker.persistent=false")); +</div></div><h3 id="ActiveMQ-Options">Options</h3><p>See Options on the <a shape="rect" href="jms.html">JMS</a> component as all these options also apply for this component.</p><h3 id="ActiveMQ-ConfiguringtheConnectionFactory">Configuring the Connection Factory</h3><p>This <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQRouteTest.java">test case</a> shows how to add an ActiveMQComponent to the <a shape="rect" href="camelcontext.html">CamelContext</a> using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ.</p ><div class="code panel pdl" style="border-width: 1px;"><div >class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[camelContext.addComponent("activemq", activeMQComponent("vm://localhost?broker.persistent=false")); ]]></script> -</div></div> - -<h3 id="ActiveMQ-ConfiguringtheConnectionFactoryusingSpringXML">Configuring the Connection Factory using Spring XML</h3> - -<p>You can configure the ActiveMQ broker URL on the ActiveMQComponent as follows</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<beans xmlns="http://www.springframework.org/schema/beans" +</div></div><h3 id="ActiveMQ-ConfiguringtheConnectionFactoryusingSpringXML">Configuring the Connection Factory using Spring XML</h3><p>You can configure the ActiveMQ broker URL on the ActiveMQComponent as follows</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans @@ -166,27 +119,15 @@ camelContext.addComponent("activemq </beans> ]]></script> -</div></div> - -<h3 id="ActiveMQ-Usingconnectionpooling">Using connection pooling</h3> -<p>When sending to an ActiveMQ broker using Camel it's recommended to use a pooled connection factory to efficiently handle pooling of JMS connections, sessions and producers. This is documented on the <a shape="rect" class="external-link" href="http://activemq.apache.org/spring-support.html">ActiveMQ Spring Support </a> page.</p> - -<p>You can grab ActiveMQ's <code>org.apache.activemq.pool.PooledConnectionFactory</code> with Maven:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<dependency> +</div></div><h3 id="ActiveMQ-Usingconnectionpooling">Using connection pooling</h3><p>When sending to an ActiveMQ broker using Camel it's recommended to use a pooled connection factory to efficiently handle pooling of JMS connections, sessions and producers. This is documented on the <a shape="rect" class="external-link" href="http://activemq.apache.org/spring-support.html">ActiveMQ Spring Support </a> page.</p><p>You can grab ActiveMQ's <code>org.apache.activemq.pool.PooledConnectionFactory</code> with Maven:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <version>5.6.0</version> </dependency> ]]></script> -</div></div> - -<p>And then setup the <strong>activemq</strong> Camel component as follows:</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<bean id="jmsConnectionFactory" +</div></div><p>And then setup the <strong>activemq</strong> Camel component as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> @@ -214,59 +155,21 @@ camelContext.addComponent("activemq --> </bean> ]]></script> -</div></div> - -<div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"> -<p>Notice the <strong>init</strong> and <strong>destroy</strong> methods on the pooled connection factory. This is important to ensure the connection pool is properly started and shutdown.</p></div></div> - -<div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important information about when using transactions</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"> -<p>If you are using transactions then see more details at <a shape="rect" href="jms.html">JMS</a>. And remember to set <code>cacheLevelName</code> to <code>CACHE_CONSUMER</code> if you are not using XA transactions. This can dramatically improve performance.</p></div></div> - -<p>The <code>PooledConnectionFactory</code> will then create a connection pool with up to 8 connections in use at the same time. Each connection can be shared by many sessions. There is an option named <code>maximumActive</code> you can use to configure the maximum number of sessions per connection; the default value is <code>500</code>. From <strong>ActiveMQ 5.7</strong> onwards the option has been renamed to better reflect its purpose, being named as <code>maximumActiveSessionPerConnection</code>. Notice the <code>concurrentConsumers</code> is set to a higher value than <code>maxConnections</code> is. This is okay, as each consumer is using a session, and as a session can share the same connection, we are in the safe. In this example we can have 8 * 500 = 4000 active sessions at the same time.</p> - -<h3 id="ActiveMQ-InvokingMessageListenerPOJOsinaCamelroute">Invoking MessageListener POJOs in a Camel route</h3> - -<p>The ActiveMQ component also provides a helper <a shape="rect" href="type-converter.html">Type Converter</a> from a JMS MessageListener to a <a shape="rect" href="processor.html">Processor</a>. This means that the <a shape="rect" href="bean.html">Bean</a> component is capable of invoking any JMS MessageListener bean directly inside any route.</p> - -<p>So for example you can create a MessageListener in JMS like this:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -public class MyListener implements MessageListener { +</div></div><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Notice the <strong>init</strong> and <strong>destroy</strong> methods on the pooled connection factory. This is important to ensure the connection pool is properly started and shutdown.</p></div></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important information about when using transactions</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>If you are using transactions then see more details at <a shape="rect" href="jms.html">JMS</a>. And remember to set <code>cacheLevelName</code> to <code>CACHE_CONSUMER</code> if you are not using XA transactions. This can dramatically improve performance.< /p></div></div><p>The <code>PooledConnectionFactory</code> will then create a connection pool with up to 8 connections in use at the same time. Each connection can be shared by many sessions. There is an option named <code>maximumActive</code> you can use to configure the maximum number of sessions per connection; the default value is <code>500</code>. From <strong>ActiveMQ 5.7</strong> onwards the option has been renamed to better reflect its purpose, being named as <code>maximumActiveSessionPerConnection</code>. Notice the <code>concurrentConsumers</code> is set to a higher value than <code>maxConnections</code> is. This is okay, as each consumer is using a session, and as a session can share the same connection, we are in the safe. In this example we can have 8 * 500 = 4000 active sessions at the same time.</p><h3 id="ActiveMQ-InvokingMessageListenerPOJOsinaCamelroute">Invoking MessageListener POJOs in a Camel route</h3><p>The ActiveMQ component also provides a helper <a shape="r ect" href="type-converter.html">Type Converter</a> from a JMS MessageListener to a <a shape="rect" href="processor.html">Processor</a>. This means that the <a shape="rect" href="bean.html">Bean</a> component is capable of invoking any JMS MessageListener bean directly inside any route.</p><p>So for example you can create a MessageListener in JMS like this:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[public class MyListener implements MessageListener { public void onMessage(Message jmsMessage) { // ... } } ]]></script> -</div></div> - -<p>Then use it in your Camel route as follows</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -from("file://foo/bar"). +</div></div><p>Then use it in your Camel route as follows</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from("file://foo/bar"). bean(MyListener.class); ]]></script> -</div></div> - -<p>That is, you can reuse any of the Camel <a shape="rect" href="components.html">Components</a> and easily integrate them into your JMS <code>MessageListener</code> POJO!</p> - -<h3 id="ActiveMQ-UsingActiveMQDestinationOptions">Using ActiveMQ Destination Options</h3> -<p><strong>Available as of ActiveMQ 5.6</strong></p> - -<p>You can configure the <a shape="rect" class="external-link" href="http://activemq.apache.org/destination-options.html">Destination Options</a> in the endpoint uri, using the "destination." prefix. For example to mark a consumer as exclusive, and set its prefetch size to 50, you can do as follows:</p> - -<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div> - - -<h3 id="ActiveMQ-ConsumingAdvisoryMessages">Consuming Advisory Messages</h3> - -<p>ActiveMQ can generate <a shape="rect" class="external-link" href="http://activemq.apache.org/advisory-message.html">Advisory messages </a> which are put in topics that you can consume. Such messages can help you send alerts in case you detect slow consumers or to build statistics (number of messages/produced per day, etc.) The following Spring DSL example shows you how to read messages from a topic.</p> - -<p>The below route starts by reading the topic <em>ActiveMQ.Advisory.Connection</em>. To watch another topic, simply change the name according to the name provided in ActiveMQ Advisory Messages documentation. The parameter mapJmsMessage=false allows for converting the org.apache.activemq.command.ActiveMqMessage object from the jms queue. Next, the body received is converted into a String for the purposes of this example and a carriage return is added. Finally, the string is added to a file</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<route> +</div></div><p>That is, you can reuse any of the Camel <a shape="rect" href="components.html">Components</a> and easily integrate them into your JMS <code>MessageListener</code> POJO!</p><h3 id="ActiveMQ-UsingActiveMQDestinationOptions">Using ActiveMQ Destination Options</h3><p><strong>Available as of ActiveMQ 5.6</strong></p><p>You can configure the <a shape="rect" class="external-link" href="http://activemq.apache.org/destination-options.html">Destination Options</a> in the endpoint uri, using the "destination." prefix. For example to mark a consumer as exclusive, and set its prefetch size to 50, you can do as follows:</p><p> </p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<from uri="activemq:foo?destination.consumer.exclusive=true&amp;destination.consumer.prefetchSize=50"/>]]></script> +</div></div><h3 id="ActiveMQ-ConsumingAdvisoryMessages">Consuming Advisory Messages</h3><p>ActiveMQ can generate <a shape="rect" class="external-link" href="http://activemq.apache.org/advisory-message.html">Advisory messages </a> which are put in topics that you can consume. Such messages can help you send alerts in case you detect slow consumers or to build statistics (number of messages/produced per day, etc.) The following Spring DSL example shows you how to read messages from a topic.</p><p>The below route starts by reading the topic <em>ActiveMQ.Advisory.Connection</em>. To watch another topic, simply change the name according to the name provided in ActiveMQ Advisory Messages documentation. The parameter mapJmsMessage=false allows for converting the org.apache.activemq.command.ActiveMqMessage object from the jms queue. Next, the body received is converted into a String for the purposes of this example and a carriage return is added. Finally, the string is added to a file</p><d iv class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<route> <from uri="activemq:topic:ActiveMQ.Advisory.Connection?mapJmsMessage=false" /> <convertBodyTo type="java.lang.String"/> <transform> @@ -275,18 +178,8 @@ from("file://foo/bar"). <to uri="file://data/activemq/?fileExist=Append&amp;fileName=advisoryConnection-${date:now:yyyyMMdd}.txt" /> </route> ]]></script> -</div></div> - -<p>If you consume a message on a queue, you should see the following files under the data/activemq folder :</p> - -<p>advisoryConnection-20100312.txt<br clear="none"> -advisoryProducer-20100312.txt</p> - -<p>and containing string:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -ActiveMQMessage {commandId = 0, responseRequired = false, +</div></div><p>If you consume a message on a queue, you should see the following files under the data/activemq folder :</p><p>advisoryConnection-20100312.txt<br clear="none"> advisoryProducer-20100312.txt</p><p>and containing string:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ActiveMQMessage {commandId = 0, responseRequired = false, messageId = ID:dell-charles-3258-1268399815140 -1:0:0:0:221, originalDestination = null, originalTransactionId = null, producerId = ID:dell-charles-3258-1268399815140-1:0:0:0, @@ -305,28 +198,14 @@ clientMaster = true}, redeliveryCounter originBrokerURL=vm://master}, readOnlyProperties = true, readOnlyBody = true, droppable = false} ]]></script> -</div></div> - -<h3 id="ActiveMQ-GettingComponentJAR">Getting Component JAR</h3> - -<p>You will need this dependency</p> -<ul class="alternate"><li><code>activemq-camel</code></li></ul> - - -<p><a shape="rect" href="activemq.html">ActiveMQ</a> is an extension of the <a shape="rect" href="jms.html">JMS</a> component released with the <a shape="rect" class="external-link" href="http://activemq.apache.org">ActiveMQ project</a>.</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<dependency> +</div></div><h3 id="ActiveMQ-GettingComponentJAR">Getting Component JAR</h3><p>You will need this dependency</p><ul class="alternate"><li><code>activemq-camel</code></li></ul><p><a shape="rect" href="activemq.html">ActiveMQ</a> is an extension of the <a shape="rect" href="jms.html">JMS</a> component released with the <a shape="rect" class="external-link" href="http://activemq.apache.org">ActiveMQ project</a>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-camel</artifactId> <version>5.6.0</version> </dependency> ]]></script> -</div></div> - - -<h3 id="ActiveMQ-SeeAlso">See Also</h3> +</div></div><p></p><h3 id="ActiveMQ-SeeAlso">See Also</h3> <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul></div> </td> <td valign="top"> Modified: websites/production/camel/content/book-component-appendix.html ============================================================================== --- websites/production/camel/content/book-component-appendix.html (original) +++ websites/production/camel/content/book-component-appendix.html Tue Oct 27 15:21:50 2015 @@ -87,69 +87,23 @@ <tbody> <tr> <td valign="top" width="100%"> -<div class="wiki-content maincontent"><div class="chapter" id="chapter-component-appendix"><h1 id="BookComponentAppendix-ComponentAppendix">Component Appendix</h1><p>There now follows the documentation on each Camel component.</p><h2 id="BookComponentAppendix-ActiveMQComponent">ActiveMQ Component</h2> - -<p>The ActiveMQ component allows messages to be sent to a <a shape="rect" class="external-link" href="http://java.sun.com/products/jms/" rel="nofollow">JMS</a> Queue or Topic or messages to be consumed from a JMS Queue or Topic using <a shape="rect" class="external-link" href="http://activemq.apache.org/" title="The most popular and powerful open source message broker">Apache ActiveMQ</a>. </p> - -<p>This component is based on <a shape="rect" href="jms.html">JMS Component</a> and uses Spring's JMS support for declarative transactions, using Spring's <code>JmsTemplate</code> for sending and a <code>MessageListenerContainer</code> for consuming. All the options from the <a shape="rect" href="jms.html">JMS</a> component also applies for this component.</p> - -<p>To use this component make sure you have the <code>activemq.jar</code> or <code>activemq-core.jar</code> on your classpath along with any Camel dependencies such as <code>camel-core.jar</code>, <code>camel-spring.jar</code> and <code>camel-jms.jar</code>.</p> - -<div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Transacted and caching</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"> -<p>See section <em>Transactions and Cache Levels</em> below on <a shape="rect" href="jms.html">JMS</a> page if you are using transactions with <a shape="rect" href="jms.html">JMS</a> as it can impact performance.</p></div></div> - -<h3 id="BookComponentAppendix-URIformat">URI format</h3> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:[queue:|topic:]destinationName +<div class="wiki-content maincontent"><div class="chapter" id="chapter-component-appendix"><h1 id="BookComponentAppendix-ComponentAppendix">Component Appendix</h1><p>There now follows the documentation on each Camel component.</p><h2 id="BookComponentAppendix-ActiveMQComponent">ActiveMQ Component</h2><p>The ActiveMQ component allows messages to be sent to a <a shape="rect" class="external-link" href="http://java.sun.com/products/jms/" rel="nofollow">JMS</a> Queue or Topic or messages to be consumed from a JMS Queue or Topic using <a shape="rect" class="external-link" href="http://activemq.apache.org/" title="The most popular and powerful open source message broker">Apache ActiveMQ</a>.</p><p>This component is based on <a shape="rect" href="jms.html">JMS Component</a> and uses Spring's JMS support for declarative transactions, using Spring's <code>JmsTemplate</code> for sending and a <code>MessageListenerContainer</code> for consuming. All the options from the <a shape="rect" href="j ms.html">JMS</a> component also applies for this component.</p><p>To use this component make sure you have the <code>activemq.jar</code> or <code>activemq-core.jar</code> on your classpath along with any Camel dependencies such as <code>camel-core.jar</code>, <code>camel-spring.jar</code> and <code>camel-jms.jar</code>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Transacted and caching</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>See section <em>Transactions and Cache Levels</em> below on <a shape="rect" href="jms.html">JMS</a> page if you are using transactions with <a shape="rect" href="jms.html">JMS</a> as it can impact performance.</p></div></div><h3 id="BookComponentAppendix-URIformat">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:[queue:|topic:]destinationName ]]></script> -</div></div> - -<p>Where <strong>destinationName</strong> is an ActiveMQ queue or topic name. By default, the <strong>destinationName</strong> is interpreted as a queue name. For example, to connect to the queue, <code>FOO.BAR</code>, use:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:FOO.BAR +</div></div><p>Where <strong>destinationName</strong> is an ActiveMQ queue or topic name. By default, the <strong>destinationName</strong> is interpreted as a queue name. For example, to connect to the queue, <code>FOO.BAR</code>, use:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:FOO.BAR ]]></script> -</div></div> - -<p>You can include the optional <code>queue:</code> prefix, if you prefer:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:queue:FOO.BAR +</div></div><p>You can include the optional <code>queue:</code> prefix, if you prefer:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:queue:FOO.BAR ]]></script> -</div></div> - -<p>To connect to a topic, you must include the <code>topic:</code> prefix. For example, to connect to the topic, <code>Stocks.Prices</code>, use:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -activemq:topic:Stocks.Prices +</div></div><p>To connect to a topic, you must include the <code>topic:</code> prefix. For example, to connect to the topic, <code>Stocks.Prices</code>, use:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[activemq:topic:Stocks.Prices ]]></script> -</div></div> - -<h3 id="BookComponentAppendix-Options">Options</h3> -<p>See Options on the <a shape="rect" href="jms.html">JMS</a> component as all these options also apply for this component.</p> - -<h3 id="BookComponentAppendix-ConfiguringtheConnectionFactory">Configuring the Connection Factory</h3> - -<p>This <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQRouteTest.java">test case</a> shows how to add an ActiveMQComponent to the <a shape="rect" href="camelcontext.html">CamelContext</a> using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ. </p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -camelContext.addComponent("activemq", activeMQComponent("vm://localhost?broker.persistent=false")); +</div></div><h3 id="BookComponentAppendix-Options">Options</h3><p>See Options on the <a shape="rect" href="jms.html">JMS</a> component as all these options also apply for this component.</p><h3 id="BookComponentAppendix-ConfiguringtheConnectionFactory">Configuring the Connection Factory</h3><p>This <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQRouteTest.java">test case</a> shows how to add an ActiveMQComponent to the <a shape="rect" href="camelcontext.html">CamelContext</a> using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[camelContext.addComponent("activemq", activeMQComponent("vm://localhost?broker.persistent=false")); ]]></script> -</div></div> - -<h3 id="BookComponentAppendix-ConfiguringtheConnectionFactoryusingSpringXML">Configuring the Connection Factory using Spring XML</h3> - -<p>You can configure the ActiveMQ broker URL on the ActiveMQComponent as follows</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<beans xmlns="http://www.springframework.org/schema/beans" +</div></div><h3 id="BookComponentAppendix-ConfiguringtheConnectionFactoryusingSpringXML">Configuring the Connection Factory using Spring XML</h3><p>You can configure the ActiveMQ broker URL on the ActiveMQComponent as follows</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans @@ -167,27 +121,15 @@ camelContext.addComponent("activemq </beans> ]]></script> -</div></div> - -<h3 id="BookComponentAppendix-Usingconnectionpooling">Using connection pooling</h3> -<p>When sending to an ActiveMQ broker using Camel it's recommended to use a pooled connection factory to efficiently handle pooling of JMS connections, sessions and producers. This is documented on the <a shape="rect" class="external-link" href="http://activemq.apache.org/spring-support.html">ActiveMQ Spring Support </a> page.</p> - -<p>You can grab ActiveMQ's <code>org.apache.activemq.pool.PooledConnectionFactory</code> with Maven:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<dependency> +</div></div><h3 id="BookComponentAppendix-Usingconnectionpooling">Using connection pooling</h3><p>When sending to an ActiveMQ broker using Camel it's recommended to use a pooled connection factory to efficiently handle pooling of JMS connections, sessions and producers. This is documented on the <a shape="rect" class="external-link" href="http://activemq.apache.org/spring-support.html">ActiveMQ Spring Support </a> page.</p><p>You can grab ActiveMQ's <code>org.apache.activemq.pool.PooledConnectionFactory</code> with Maven:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <version>5.6.0</version> </dependency> ]]></script> -</div></div> - -<p>And then setup the <strong>activemq</strong> Camel component as follows:</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<bean id="jmsConnectionFactory" +</div></div><p>And then setup the <strong>activemq</strong> Camel component as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> @@ -215,59 +157,21 @@ camelContext.addComponent("activemq --> </bean> ]]></script> -</div></div> - -<div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"> -<p>Notice the <strong>init</strong> and <strong>destroy</strong> methods on the pooled connection factory. This is important to ensure the connection pool is properly started and shutdown.</p></div></div> - -<div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important information about when using transactions</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"> -<p>If you are using transactions then see more details at <a shape="rect" href="jms.html">JMS</a>. And remember to set <code>cacheLevelName</code> to <code>CACHE_CONSUMER</code> if you are not using XA transactions. This can dramatically improve performance.</p></div></div> - -<p>The <code>PooledConnectionFactory</code> will then create a connection pool with up to 8 connections in use at the same time. Each connection can be shared by many sessions. There is an option named <code>maximumActive</code> you can use to configure the maximum number of sessions per connection; the default value is <code>500</code>. From <strong>ActiveMQ 5.7</strong> onwards the option has been renamed to better reflect its purpose, being named as <code>maximumActiveSessionPerConnection</code>. Notice the <code>concurrentConsumers</code> is set to a higher value than <code>maxConnections</code> is. This is okay, as each consumer is using a session, and as a session can share the same connection, we are in the safe. In this example we can have 8 * 500 = 4000 active sessions at the same time.</p> - -<h3 id="BookComponentAppendix-InvokingMessageListenerPOJOsinaCamelroute">Invoking MessageListener POJOs in a Camel route</h3> - -<p>The ActiveMQ component also provides a helper <a shape="rect" href="type-converter.html">Type Converter</a> from a JMS MessageListener to a <a shape="rect" href="processor.html">Processor</a>. This means that the <a shape="rect" href="bean.html">Bean</a> component is capable of invoking any JMS MessageListener bean directly inside any route.</p> - -<p>So for example you can create a MessageListener in JMS like this:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -public class MyListener implements MessageListener { +</div></div><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Notice the <strong>init</strong> and <strong>destroy</strong> methods on the pooled connection factory. This is important to ensure the connection pool is properly started and shutdown.</p></div></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Important information about when using transactions</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>If you are using transactions then see more details at <a shape="rect" href="jms.html">JMS</a>. And remember to set <code>cacheLevelName</code> to <code>CACHE_CONSUMER</code> if you are not using XA transactions. This can dramatically improve performance.< /p></div></div><p>The <code>PooledConnectionFactory</code> will then create a connection pool with up to 8 connections in use at the same time. Each connection can be shared by many sessions. There is an option named <code>maximumActive</code> you can use to configure the maximum number of sessions per connection; the default value is <code>500</code>. From <strong>ActiveMQ 5.7</strong> onwards the option has been renamed to better reflect its purpose, being named as <code>maximumActiveSessionPerConnection</code>. Notice the <code>concurrentConsumers</code> is set to a higher value than <code>maxConnections</code> is. This is okay, as each consumer is using a session, and as a session can share the same connection, we are in the safe. In this example we can have 8 * 500 = 4000 active sessions at the same time.</p><h3 id="BookComponentAppendix-InvokingMessageListenerPOJOsinaCamelroute">Invoking MessageListener POJOs in a Camel route</h3><p>The ActiveMQ component also provides a helpe r <a shape="rect" href="type-converter.html">Type Converter</a> from a JMS MessageListener to a <a shape="rect" href="processor.html">Processor</a>. This means that the <a shape="rect" href="bean.html">Bean</a> component is capable of invoking any JMS MessageListener bean directly inside any route.</p><p>So for example you can create a MessageListener in JMS like this:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[public class MyListener implements MessageListener { public void onMessage(Message jmsMessage) { // ... } } ]]></script> -</div></div> - -<p>Then use it in your Camel route as follows</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -from("file://foo/bar"). +</div></div><p>Then use it in your Camel route as follows</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from("file://foo/bar"). bean(MyListener.class); ]]></script> -</div></div> - -<p>That is, you can reuse any of the Camel <a shape="rect" href="components.html">Components</a> and easily integrate them into your JMS <code>MessageListener</code> POJO!</p> - -<h3 id="BookComponentAppendix-UsingActiveMQDestinationOptions">Using ActiveMQ Destination Options</h3> -<p><strong>Available as of ActiveMQ 5.6</strong></p> - -<p>You can configure the <a shape="rect" class="external-link" href="http://activemq.apache.org/destination-options.html">Destination Options</a> in the endpoint uri, using the "destination." prefix. For example to mark a consumer as exclusive, and set its prefetch size to 50, you can do as follows:</p> - -<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div> - - -<h3 id="BookComponentAppendix-ConsumingAdvisoryMessages">Consuming Advisory Messages</h3> - -<p>ActiveMQ can generate <a shape="rect" class="external-link" href="http://activemq.apache.org/advisory-message.html">Advisory messages </a> which are put in topics that you can consume. Such messages can help you send alerts in case you detect slow consumers or to build statistics (number of messages/produced per day, etc.) The following Spring DSL example shows you how to read messages from a topic.</p> - -<p>The below route starts by reading the topic <em>ActiveMQ.Advisory.Connection</em>. To watch another topic, simply change the name according to the name provided in ActiveMQ Advisory Messages documentation. The parameter mapJmsMessage=false allows for converting the org.apache.activemq.command.ActiveMqMessage object from the jms queue. Next, the body received is converted into a String for the purposes of this example and a carriage return is added. Finally, the string is added to a file</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<route> +</div></div><p>That is, you can reuse any of the Camel <a shape="rect" href="components.html">Components</a> and easily integrate them into your JMS <code>MessageListener</code> POJO!</p><h3 id="BookComponentAppendix-UsingActiveMQDestinationOptions">Using ActiveMQ Destination Options</h3><p><strong>Available as of ActiveMQ 5.6</strong></p><p>You can configure the <a shape="rect" class="external-link" href="http://activemq.apache.org/destination-options.html">Destination Options</a> in the endpoint uri, using the "destination." prefix. For example to mark a consumer as exclusive, and set its prefetch size to 50, you can do as follows:</p><p> </p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<from uri="activemq:foo?destination.consumer.exclusive=true&amp;destination.consumer.prefetchSize=50"/>]]></script> +</div></div><h3 id="BookComponentAppendix-ConsumingAdvisoryMessages">Consuming Advisory Messages</h3><p>ActiveMQ can generate <a shape="rect" class="external-link" href="http://activemq.apache.org/advisory-message.html">Advisory messages </a> which are put in topics that you can consume. Such messages can help you send alerts in case you detect slow consumers or to build statistics (number of messages/produced per day, etc.) The following Spring DSL example shows you how to read messages from a topic.</p><p>The below route starts by reading the topic <em>ActiveMQ.Advisory.Connection</em>. To watch another topic, simply change the name according to the name provided in ActiveMQ Advisory Messages documentation. The parameter mapJmsMessage=false allows for converting the org.apache.activemq.command.ActiveMqMessage object from the jms queue. Next, the body received is converted into a String for the purposes of this example and a carriage return is added. Finally, the string is added to a file</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<route> <from uri="activemq:topic:ActiveMQ.Advisory.Connection?mapJmsMessage=false" /> <convertBodyTo type="java.lang.String"/> <transform> @@ -276,18 +180,8 @@ from("file://foo/bar"). <to uri="file://data/activemq/?fileExist=Append&amp;fileName=advisoryConnection-${date:now:yyyyMMdd}.txt" /> </route> ]]></script> -</div></div> - -<p>If you consume a message on a queue, you should see the following files under the data/activemq folder :</p> - -<p>advisoryConnection-20100312.txt<br clear="none"> -advisoryProducer-20100312.txt</p> - -<p>and containing string:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -ActiveMQMessage {commandId = 0, responseRequired = false, +</div></div><p>If you consume a message on a queue, you should see the following files under the data/activemq folder :</p><p>advisoryConnection-20100312.txt<br clear="none"> advisoryProducer-20100312.txt</p><p>and containing string:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ActiveMQMessage {commandId = 0, responseRequired = false, messageId = ID:dell-charles-3258-1268399815140 -1:0:0:0:221, originalDestination = null, originalTransactionId = null, producerId = ID:dell-charles-3258-1268399815140-1:0:0:0, @@ -306,28 +200,14 @@ clientMaster = true}, redeliveryCounter originBrokerURL=vm://master}, readOnlyProperties = true, readOnlyBody = true, droppable = false} ]]></script> -</div></div> - -<h3 id="BookComponentAppendix-GettingComponentJAR">Getting Component JAR</h3> - -<p>You will need this dependency</p> -<ul class="alternate"><li><code>activemq-camel</code></li></ul> - - -<p><a shape="rect" href="activemq.html">ActiveMQ</a> is an extension of the <a shape="rect" href="jms.html">JMS</a> component released with the <a shape="rect" class="external-link" href="http://activemq.apache.org">ActiveMQ project</a>.</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<dependency> +</div></div><h3 id="BookComponentAppendix-GettingComponentJAR">Getting Component JAR</h3><p>You will need this dependency</p><ul class="alternate"><li><code>activemq-camel</code></li></ul><p><a shape="rect" href="activemq.html">ActiveMQ</a> is an extension of the <a shape="rect" href="jms.html">JMS</a> component released with the <a shape="rect" class="external-link" href="http://activemq.apache.org">ActiveMQ project</a>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-camel</artifactId> <version>5.6.0</version> </dependency> ]]></script> -</div></div> - - -<h3 id="BookComponentAppendix-SeeAlso">See Also</h3> +</div></div><p></p><h3 id="BookComponentAppendix-SeeAlso">See Also</h3> <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul> <div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div> <h2 id="BookComponentAppendix-AMQP">AMQP</h2><p><strong>Available as of Camel X.X</strong></p><p>The <strong>amqp:</strong> component supports the <a shape="rect" class="external-link" href="http://www.amqp.org/" rel="nofollow">AMQP protocol</a> using the JMS Client API of the <a shape="rect" class="external-link" href="http://qpid.apache.org/">Qpid</a> project. In case you want to use AMQP with RabbitMQ you might also be interested in the <a shape="rect" href="rabbitmq.html">Camel RabbitMQ</a> component.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.camel</groupId> @@ -1195,11 +1075,11 @@ template.send("direct:alias-verify& ]]></script> </div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.8">See Also</h3> <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul><li><a shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 id="BookComponentAppendix-CXFComponent">CXF Component</h2><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to cons ume web services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p></div></div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1445768276163 {padding: 0px;} -div.rbtoc1445768276163 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1445768276163 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1445959076388 {padding: 0px;} +div.rbtoc1445959076388 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1445959076388 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1445768276163"> +/*]]>*/</style></p><div class="toc-macro rbtoc1445959076388"> <ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-CXFComponent">CXF Component</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect" href="#BookComponentAppendix-Options">Options</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>