activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r884165 - in /websites/production/activemq/content: activemq-590-release.html broker-camel-component.html cache/main.pageCache new-features-in-59.html
Date Sat, 26 Oct 2013 06:22:33 GMT
Author: buildbot
Date: Sat Oct 26 06:22:32 2013
New Revision: 884165

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/activemq-590-release.html
    websites/production/activemq/content/broker-camel-component.html
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/new-features-in-59.html

Modified: websites/production/activemq/content/activemq-590-release.html
==============================================================================
--- websites/production/activemq/content/activemq-590-release.html (original)
+++ websites/production/activemq/content/activemq-590-release.html Sat Oct 26 06:22:32 2013
@@ -32,16 +32,6 @@
     </style>
     <![endif]-->
 
-          <link href='http://activemq.apache.org/styles/highlighter/styles/shCore.css'
rel='stylesheet' type='text/css' /> 
-      <link href='http://activemq.apache.org/styles/highlighter/styles/shThemeEclipse.css'
rel='stylesheet' type='text/css' /> 
-      <script src='http://activemq.apache.org/styles/highlighter/scripts/shCore.js' type='text/javascript'></script>

-              <script src='http://activemq.apache.org/styles/highlighter/scripts/shBrushJava.js'
type='text/javascript'></script> 
-              <script src='http://activemq.apache.org/styles/highlighter/scripts/shBrushXml.js'
type='text/javascript'></script> 
-         
-      <script type="text/javascript"> 
-        SyntaxHighlighter.defaults['toolbar'] = false; 
-        SyntaxHighlighter.all(); 
-      </script> 
     
     <title>
     Apache ActiveMQ &#8482; -- ActiveMQ 5.9.0 Release
@@ -87,7 +77,7 @@
 
 <p>Apache ActiveMQ 5.9.0 resolves <a shape="rect" class="external-link" href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+AMQ+AND+fixVersion+%3D+%225.9.0%22+AND+status+%3D+Resolved+ORDER+BY+priority+DESC&amp;mode=hide">more
than 200 issues</a>, mostly bug fixes and improvements. It has the following new features:</p>
 
-<ul><li><a shape="rect" href="replicated-leveldb-store.html" title="Replicated
LevelDB Store">Replicated LevelDB Store</a> for shared nothing Master/Slave.</li><li><a
shape="rect" href="runtime-configuration.html" title="Runtime Configuration">Runtime Configuration</a></li><li><a
shape="rect" class="external-link" href="http://hawt.io/plugins/activemq/" rel="nofollow">Hawtio</a>
web console</li><li>Generic JMS XA connection pool in activemq-jms-pool module
(has no ActiveMQ dependency)</li><li>MQTT over WebSockets support</li><li><tt>broker:</tt>
Apache Camel component</li><li>Broker auto-restart upon losing master status</li><li>AMQP
Hardening</li><li>LevelDB Hardening</li></ul>
+<ul><li><a shape="rect" href="replicated-leveldb-store.html" title="Replicated
LevelDB Store">Replicated LevelDB Store</a> for shared nothing Master/Slave.</li><li><a
shape="rect" href="runtime-configuration.html" title="Runtime Configuration">Runtime Configuration</a></li><li><a
shape="rect" class="external-link" href="http://hawt.io/plugins/activemq/" rel="nofollow">Hawtio</a>
web console</li><li>Generic JMS XA connection pool in activemq-jms-pool module
(has no ActiveMQ dependency)</li><li>MQTT over WebSockets support</li><li><a
shape="rect" href="broker-camel-component.html" title="Broker Camel Component"><b>broker</b></a>
Apache Camel component</li><li>Broker auto-restart upon losing master status</li><li>AMQP
Hardening</li><li>LevelDB Hardening</li></ul>
 
 
 <p>There are some changes in 5.9 that may require user intervention</p>

Modified: websites/production/activemq/content/broker-camel-component.html
==============================================================================
--- websites/production/activemq/content/broker-camel-component.html (original)
+++ websites/production/activemq/content/broker-camel-component.html Sat Oct 26 06:22:32 2013
@@ -73,20 +73,61 @@
         <tr>
         <td valign="top" width="100%">
           <div class="wiki-content maincontent">
-<p>Embedding Apache Camel inside the ActiveMQ broker provides great flexibility for
extending the message broker with the integration power of Camel. Apache Camel routes also
benefit in that you can avoid &#160;the serialization and network costs of connecting
to ActiveMQ remotely - if you use the&#160;<a shape="rect" class="external-link" href="http://camel.apache.org/activemq.html">activemq
component</a>.<br clear="none" class="atl-forced-newline"></p>
+<p>Embedding Apache Camel inside the ActiveMQ broker provides great flexibility for
extending the message broker with the integration power of Camel. Apache Camel routes also
benefit in that you can avoid the serialization and network costs of connecting to ActiveMQ
remotely - if you use the <a shape="rect" class="external-link" href="http://camel.apache.org/activemq.html">activemq
component</a>.</p>
 
-<p>One of the really great things about Apache ActiveMQ is that it&#160;<a shape="rect"
class="external-link" href="http://rajdavies.blogspot.co.uk/2010/07/extending-apache-activemq-with-apache.html"
rel="nofollow">works so well with Apache Camel</a>.<br clear="none" class="atl-forced-newline">
<br clear="none" class="atl-forced-newline"></p>
+<p>If however, you want to change the behaviour of messages flowing through the ActiveMQ
message broker itself you will be limited to the shipped set of ActiveMQ Broker<a shape="rect"
class="external-link" href="http://activemq.apache.org/interceptors.html">Interceptors</a>-
or develop your own<a shape="rect" class="external-link" href="http://activemq.apache.org/developing-plugins.html">Broker
plugin</a> and then introduce that as a jar on to the class path for the ActiveMQ broker.</p>
 
-<p>If however, you want to change the behaviour of messages flowing through the ActiveMQ
message broker itself you will be limited to the shipped set of ActiveMQ Broker&#160;<a
shape="rect" class="external-link" href="http://activemq.apache.org/interceptors.html">Interceptors</a>&#160;-
or develop your own<a shape="rect" class="external-link" href="http://activemq.apache.org/developing-plugins.html">&#160;Broker
plugin</a>&#160;- and then introduce that as a jar on to the class path for the
ActiveMQ broker.<br clear="none" class="atl-forced-newline"></p>
+<p>The <b>broker</b> camel component makes this even easier - which intercepts
messages as they move through the broker itself, allowing them to be modified and manipulated
before they are persisted to the message store or delivered to end consumers.</p>
 
-<p>What would be really useful though, is to combine the Interceptors and Camel together
- making it easier to configure Broker Interceptors using Camel routes - and that's exactly
what we have done for upcoming ActiveMQ 5.9 release with the&#160;<b><em>broker</em></b>&#160;Camel
Component.&#160;<a shape="rect" class="external-link" href="http://activemq.apache.org/how-should-i-package-applications-using-camel-and-activemq.html">You
can include a camel.xml file into your ActiveMQ broker config</a>&#160;- &#160;and
then if you want to take all messages sent to a Queue and publish them to a Topic, changing
their priority along the way - you can do something like this:<br clear="none" class="atl-forced-newline">
<br clear="none" class="atl-forced-newline">
-A few things worth noting:<br clear="none" class="atl-forced-newline"></p>
-<ul><li>A broker component only adds an intercept into the broker if its started
- so the broker component will not add any overhead to the running broker until its used -
and then the overhead will be trivial.</li><li>You intercept messages using the
broker component when they have been received by the broker - but before they are processed
(persisted or routed to a destination).</li><li>The in message on the CamelExchange
is a Camel Message, but also a JMS Message (messages routed through ActiveMQ from Stomp/MQTT/AMQP
etc. are always translated into JMS messages).</li><li>You can use&#160;<a
shape="rect" class="external-link" href="http://activemq.apache.org/wildcards.html">wildcards</a>&#160;on
a destination to intercept messages from destinations matching the wildcard.</li><li>After
the intercept, you have to explicitly send the message back to the broker component - this
allows you to either drop select messages (by not sending) - or, like in the above case -
re-route the messa
 ge to a different destination.</li><li>There is one deliberate caveat though,
&#160;you can only send messages to a broker component that have been intercepted - i.e.
&#160;routing a Camel message from another Component (e.g. File) would result in an error.</li></ul>
+<p><a shape="rect" class="external-link" href="http://activemq.apache.org/how-should-i-package-applications-using-camel-and-activemq.html">You
can include a camel.xml file into your ActiveMQ broker config</a> and then if you want
to take all messages sent to a Queue and publish them to a Topic, changing their priority
along the way - you can do something like this:</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;route id="setPriority"&gt;
+   &lt;from uri="broker:topic:test.broker.&gt;"/&gt;
+      &lt;setHeader headerName="JMSPriority"&gt;
+         &lt;constant&gt;9&lt;/constant&gt;
+      &lt;/setHeader&gt;
+   &lt;to uri="broker:queue:test.broker.component.queue"/&gt;
+&lt;/route&gt;
+]]></script>
+</div></div>
+
+<p>A few things worth noting:</p>
+
+<ul><li>A broker component only adds an intercept into the broker if its started
- so the broker component will not add any overhead to the running broker until its used -
and then the overhead will be trivial.</li><li>You intercept messages using the
broker component when they have been received by the broker - but before they are processed
(persisted or routed to a destination).</li><li>The in message on the CamelExchange
is a Camel Message, but also a JMS Message (messages routed through ActiveMQ from Stomp/MQTT/AMQP
etc. are always translated into JMS messages).</li><li>You can <a shape="rect"
class="external-link" href="http://activemq.apache.org/wildcards.html">wildcards</a>
on a destination to intercept messages from destinations matching the wildcard.</li><li>After
the intercept, you have to explicitly send the message back to the broker component - this
allows you to either drop select messages (by not sending) - or, like in the above case -
re-route the message to a differ
 ent destination.</li><li>There is one deliberate caveat though, &#160;you
can only send messages to a broker component that have been intercepted - i.e. &#160;routing
a Camel message from another Component (e.g. File) would result in an error.</li></ul>
 
 
 <p>There are some extra classes that have been added to the activemq-broker package
- to enable views of the running broker without using JMX - and to support the use of the
broker component:<br clear="none">
-<font color="#0000ff"><b>org.apache.activemq.broker.view.MessageBrokerView</b></font>&#160;-
which provides methods to retrieve statistics on a the broker, and from the MessageBrokerView
- you can retrieve a&#160;<font color="#0000ff"><b>org.apache.activemq.broker.view.BrokerDestinationView</b></font>&#160;for
a particular destination. This means you can add flexible routing inside the broker by doing
something &#160;like the following - to route messages when a destination's queue depth
reaches a certain limit:<br clear="none" class="atl-forced-newline"> <br clear="none"
class="atl-forced-newline">
-This is using the Camel Message Router pattern - note the use of Spring expression language
(<em>spel</em>) in the&#160;<font color="#0000ff"><b>when</b></font>&#160;clause.</p>
+<a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.9.0/apidocs/org/apache/activemq/broker/view/MessageBrokerView.html">MessageBrokerView</a>
-  which provides methods to retrieve statistics on a the broker, and from the MessageBrokerView
- you can retrieve a <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.9.0/apidocs/org/apache/activemq/broker/view/BrokerDestinationView.html">BrokerDestinationView</a>
for a particular destination. This means you can add flexible routing inside the broker by
doing something &#160;like the following - to route messages when a destination's queue
depth reaches a certain limit:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;camelContext id="camel" trace="false" xmlns="http://camel.apache.org/schema/spring"&gt;
+    &lt;route id="routeAboveQueueLimitTest"&gt;
+        &lt;from uri="broker:queue:test.broker.queue"/&gt;
+        &lt;choice&gt;
+            &lt;when&gt;
+                &lt;spel&gt;#{@destinationView.queueSize &gt;= 100}&lt;/spel&gt;
+                &lt;to uri="broker:queue:test.broker.processLater"/&gt;
+            &lt;/when&gt;
+            &lt;otherwise&gt;
+                &lt;to uri="broker:queue:test.broker.queue"/&gt;
+            &lt;/otherwise&gt;
+        &lt;/choice&gt;
+        &lt;/route&gt;
+
+    &lt;/camelContext&gt;
+    &lt;bean id="brokerView" class="org.apache.activemq.broker.view.MessageBrokerView"&gt;
+        &lt;constructor-arg value="testBroker"/&gt;
+    &lt;/bean&gt;
+    &lt;bean id="destinationView" factory-bean="brokerView" factory-method="getDestinationView"&gt;
+        &lt;constructor-arg value="test.broker.component.route"/&gt;
+    &lt;/bean&gt;
+]]></script>
+</div></div>
+<p>This is using the Camel Message Router pattern - note the use of Spring expression
language <em>spel</em> in the <b>when</b> clause.</p>
           </div>
         </td>
         <td valign="top">

Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/activemq/content/new-features-in-59.html
==============================================================================
--- websites/production/activemq/content/new-features-in-59.html (original)
+++ websites/production/activemq/content/new-features-in-59.html Sat Oct 26 06:22:32 2013
@@ -73,7 +73,7 @@
         <tr>
         <td valign="top" width="100%">
           <div class="wiki-content maincontent">
-<ul><li><a shape="rect" href="replicated-leveldb-store.html" title="Replicated
LevelDB Store">Replicated LevelDB Store</a> for shared nothing Master/Slave.</li><li><a
shape="rect" href="runtime-configuration.html" title="Runtime Configuration">Runtime Configuration</a></li><li><a
shape="rect" class="external-link" href="http://hawt.io/plugins/activemq/" rel="nofollow">Hawtio</a>
web console</li><li>Generic JMS XA connection pool in activemq-jms-pool module
(has no ActiveMQ dependency)</li><li>MQTT over WebSockets support</li><li><tt>broker:</tt>
Apache Camel component</li><li>Broker auto-restart upon losing master status</li><li>AMQP
Hardening</li><li>LevelDB Hardening</li></ul>
+<ul><li><a shape="rect" href="replicated-leveldb-store.html" title="Replicated
LevelDB Store">Replicated LevelDB Store</a> for shared nothing Master/Slave.</li><li><a
shape="rect" href="runtime-configuration.html" title="Runtime Configuration">Runtime Configuration</a></li><li><a
shape="rect" class="external-link" href="http://hawt.io/plugins/activemq/" rel="nofollow">Hawtio</a>
web console</li><li>Generic JMS XA connection pool in activemq-jms-pool module
(has no ActiveMQ dependency)</li><li>MQTT over WebSockets support</li><li><a
shape="rect" href="broker-camel-component.html" title="Broker Camel Component"><b>broker</b></a>
Apache Camel component</li><li>Broker auto-restart upon losing master status</li><li>AMQP
Hardening</li><li>LevelDB Hardening</li></ul>
 
           </div>
         </td>



Mime
View raw message