You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by bu...@apache.org on 2013/07/08 16:21:29 UTC

svn commit: r868823 [3/5] - in /websites/production/activemq/content: cache/ cms/

Modified: websites/production/activemq/content/cms/cms-api-overview.html
==============================================================================
--- websites/production/activemq/content/cms/cms-api-overview.html (original)
+++ websites/production/activemq/content/cms/cms-api-overview.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -88,18 +88,18 @@
 
 <p>The simplest way to obtain an instance of a CMS ConnectionFactory is to use the static method <b>createCMSConnectionFactory</b> that all CMS Provider libraries are required to implement.  The code snippet below demonstrates how to obtain a new ConnectionFactory:</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Connection Factory</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-        cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );</span>
-</pre>
+        cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+]]></script>
 </div></div>
 <p>As you can see the <b>createCMSConnectionFactory</b> takes a single string parameter which is in the form of a URI that defines where the Connection that is created is to connect to as well as the protocol that should be used, TCP/IP in the case of the above example.  Additionally configuration information can be encoded in the URI.  Refer to the <a shape="rect" href="configuring.html" title="Configuring">Configuration</a> page for more information on the configuration parameters that can be passed to ActiveMQ-CPP via the URI.</p>
 
 <p>Once you've created a ConnectionFactory the next thing to do is to create a CMS Connection using the ConnectionFactory.  A Connection is the Object that manages the client's connection to the Provider.  The next section covers the use of a CMS Connection, the code to create a Connection is shown below:</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Connection</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
-</pre>
+]]></script>
 </div></div>
 <p>Upon creation the Connection object attempts to connect to the CMS Provider, if the connection fails then an CMSException is thrown with a description of the error that occurred stored in its Message property.</p>
 
@@ -108,18 +108,18 @@ std::auto_ptr&lt;cms::Connection&gt; con
 <p>There are a couple versions of the <b>createConnection</b> method that allow you to specify login parameters for the newly created Connection.  The one you would use most often takes a user-name and password pair that is transmitted to the Broker for authentication.  Should the credentials be invalid a CMSException would be thrown.  The sample code below shows how to pass a user-name and password in when creating your Connection object.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Connection with Authentication</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection( <span class="code-quote">"&lt;USERNAME&gt;"</span>, <span class="code-quote">"&lt;PASSWORD&gt;"</span>) );
-</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection( "&lt;USERNAME&gt;", "&lt;PASSWORD&gt;") );
+]]></script>
 </div></div>
 
 <p>If you don't want to hard code values into your source code or write code to read the login data from somewhere else there is another option for passing in the user-name and password, the URI that you pass to <b>createConnectionFactory</b> can be encoded so that the connectionFactory will read the values from the system environment when it parses the URI.  The example below shows how to create a connection factory with the login data set in the URI.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Connection Factory with URI values for Authentication data.</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-        cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616?username=${USERNAME}&amp;password=${PASSWORD}"</span> ) );</span>
-</pre>
+        cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616?username=${USERNAME}&amp;password=${PASSWORD}" ) );
+]]></script>
 </div></div>
 
 <p>As you can see it is pretty simple to have values on the URI come from the system environment.  This method will work for any parameter that you can specify in the URI.</p>
@@ -136,14 +136,14 @@ std::auto_ptr&lt;cms::ConnectionFactory&
 
 <p>After creating the Connection the client must create a CMS Session in order to create message producers and consumers.  The code snippet below puts together what we've seen so far and then shows how to create a CMS Session object from our Connection instance, the section that follows will discuss the CMS Session in more detail.</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Session</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-    cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );
-</span>
+    cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+
 std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
 
 std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession() );
-</pre>
+]]></script>
 </div></div>
 
 <h2><a shape="rect" name="CMSAPIOverview-CMSSession"></a>CMS Session</h2>
@@ -163,26 +163,26 @@ std::auto_ptr&lt;cms::Session&gt; sessio
 
 <p>In the previous section we showed you how to create a session, lets take a look at that example again here:</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Session</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-    cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );
-</span>
+    cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+
 std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
 
 std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession() );
-</pre>
+]]></script>
 </div></div>
 <p>In this code snippet the Session is created using the createSession with no arguments, this creates a Session that is in the AUTO_ACKNOWLEDGE mode.  To create a Session with one of the modes listed above there is a second create method in the CMS Session interface that takes a single argument specifying the mode, lets take a look at an example:</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Session with user specified Ack Mode</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-    cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );
-</span>
+    cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+
 std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
 
 std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession(
     cms::Session::CLIENT_ACKNOWLEDGE ) );
-</pre>
+]]></script>
 </div></div>
 <p>As you can see there's not much difference here, just specify the mode you want for acknowledgement and you are ready to create your Session resources, in the next few section we will walk through the types of objects that you can create from a Session and show you the basics of using them.</p>
 
@@ -205,28 +205,28 @@ std::auto_ptr&lt;cms::Session&gt; sessio
 <p>As you may have already guessed, Messages are created using the CMS Session instance we created previously.  The Session supplies methods for creating each of the four Message types we covered above.  The Session is the Factory that create the providers implementation of the Message interfaces defined in CMS, it knows how to configure the internal data structures and prevents the client from being tied to the provider implementation directly, this is why we have to use the Session to create a Message object instead of creating them directly.  Lets take a look at a code snippet that create a TextMessage instance and sets some properties on that Message.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a TextMessage using a CMS Session instance.</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-comment">// Create the ConnectionFactory
-</span>std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-    cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );
-</span>
-<span class="code-comment">// Create a Connection
-</span>std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+// Create the ConnectionFactory
+std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
+    cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+
+// Create a Connection
+std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
 
-<span class="code-comment">// Create a <span class="code-keyword">new</span> Session from our Connection
-</span>std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
+// Create a new Session from our Connection
+std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
 
-<span class="code-comment">// Now create a TextMessage
-</span>std::auto_ptr&lt;cms::TextMessage&gt; textMessage( session-&gt;createTextMessage() );
+// Now create a TextMessage
+std::auto_ptr&lt;cms::TextMessage&gt; textMessage( session-&gt;createTextMessage() );
 
-<span class="code-comment">// Set the payload
-</span>textMessage-&gt;setText( <span class="code-quote">"Payload Text"</span> );
+// Set the payload
+textMessage-&gt;setText( "Payload Text" );
 
-<span class="code-comment">// Set some Properties
-</span>textMessage-&gt;setStringProperty( <span class="code-quote">"USER_NAME"</span>, <span class="code-quote">"Steve"</span> );
-textMessage-&gt;setIntProperty( <span class="code-quote">"USER_CODE"</span>, 42 );
+// Set some Properties
+textMessage-&gt;setStringProperty( "USER_NAME", "Steve" );
+textMessage-&gt;setIntProperty( "USER_CODE", 42 );
 
-</pre>
+]]></script>
 </div></div>
 
 <p>As you can see from the code above creating a TextMessage is much like creating a Session or Connection instance, you just call the <b>createTextMessage</b> in your instance of a CMS Session and you get back a new TextMessage pointer that you can then populate with text and properties.</p>
@@ -243,21 +243,21 @@ textMessage-&gt;setIntProperty( <span cl
 <p>Now that we've seen what the destination types are, lets look at a code snippet showing how to create a Destination object.  The example below shows how to create a Topic instance using what should now be a pretty familiar pattern.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a Topic from a CMS Session object</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-comment">// Create the ConnectionFactory
-</span>std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-    cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );
-</span>
-<span class="code-comment">// Create a Connection
-</span>std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+// Create the ConnectionFactory
+std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
+    cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+
+// Create a Connection
+std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
 
-<span class="code-comment">// Create a <span class="code-keyword">new</span> Session from our Connection
-</span>std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
+// Create a new Session from our Connection
+std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
 
-<span class="code-comment">// Now create a Topic
-</span>std::auto_ptr&lt;cms::Topic&gt; myTopic( session-&gt;createTopic( <span class="code-quote">"EXAMPLE-TOPIC"</span> ) );
+// Now create a Topic
+std::auto_ptr&lt;cms::Topic&gt; myTopic( session-&gt;createTopic( "EXAMPLE-TOPIC" ) );
 
-</pre>
+]]></script>
 </div></div>
 
 <p>Creating a Topic or Queue requires passing a name for the Destination, the name is similar to an address, messages sent the the "EXAMPLE-TOPIC" destination are received by clients that have subscribed to that same Destination.</p>
@@ -267,24 +267,24 @@ textMessage-&gt;setIntProperty( <span cl
 <p>Now that we've covered how to create messages and destinations we will look at creating a CMS MessageConsumer.  The MessageConsumer allows the client application to receive messages sent by other clients to topics or queues.  Before we talk about receiving Messages with the consumer lets first look at how one is created.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a MessageConsumer from a CMS Session object</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-comment">// Create the ConnectionFactory
-</span>std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-    cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );
-</span>
-<span class="code-comment">// Create a Connection
-</span>std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+// Create the ConnectionFactory
+std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
+    cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+
+// Create a Connection
+std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
 
-<span class="code-comment">// Create a <span class="code-keyword">new</span> Session from our Connection
-</span>std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
+// Create a new Session from our Connection
+std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
 
-<span class="code-comment">// Now create a Topic
-</span>std::auto_ptr&lt;cms::Topic&gt; myTopic( session-&gt;createTopic( <span class="code-quote">"EXAMPLE-TOPIC"</span> ) );
+// Now create a Topic
+std::auto_ptr&lt;cms::Topic&gt; myTopic( session-&gt;createTopic( "EXAMPLE-TOPIC" ) );
 
-<span class="code-comment">// Now create the Consumer
-</span>std::auto_ptr&lt;cms::MessageConsumer&gt; myConsumer( session-&gt;createConsumer( myTopic ) );
+// Now create the Consumer
+std::auto_ptr&lt;cms::MessageConsumer&gt; myConsumer( session-&gt;createConsumer( myTopic ) );
 
-</pre>
+]]></script>
 </div></div>
 
 <p>As you can see the MessageConsumer is created by calling <b>createConsumer</b> from an instance of a CMS Session object.  The MessageConsumer is given a Destination to listen for Messages on at the time you create it.  Once you create a MessageConsumer its time to start using it to receive messages, the MessageConsumer two methods for receiving messages, one is synchronous and the other is asynchronous.</p>
@@ -292,59 +292,59 @@ textMessage-&gt;setIntProperty( <span cl
 <p>The synchronous method of receiving Messages involves a call the to the consumers receive method.  A call to receive will block until a Message is received on the Destination in question if no time-out is given, or will return NULL if the time-out given elapses and no new Messages arrive.  Lets take a look at a simple example of a synchronous message polling loop using CMS.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Synchronous Polling with infinite wait.</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">while</span>( !done ) {
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+while( !done ) {
 
    std::auto_ptr&lt;Message&gt; message( myConsumer-&gt;receive() );
 
    ...Do Something with the message...
 }
 
-</pre>
+]]></script>
 </div></div>
 
 <p>As you can see in the code above we called the MessageConsumer's <b>receive</b> method expecting that it will return a new Message object at some point.  The code here will block until a new message is received.  This sort of approach assumes that your program has nothing else that it needs to do until a message arrives, however there is an alternative should your application need to perform other processing.  The code sample below shows a polling loop that uses the MessageConsumer's <b>receiveNoWait</b> method to poll and return immediately to allow for other processing to occur.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Synchronous Polling with no wait.</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">while</span>( !done ) {
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+while( !done ) {
 
    std::auto_ptr&lt;Message&gt; message( myConsumer-&gt;receiveNoWait() );
 
-   <span class="code-keyword">if</span>( message.get() != NULL ) {
+   if( message.get() != NULL ) {
       ...Do Something with the message...
    }
 
-   ...Perform other application logic before checking <span class="code-keyword">for</span> another message...
+   ...Perform other application logic before checking for another message...
 }
 
-</pre>
+]]></script>
 </div></div>
 
 <p>The asynchronous method involves implementing the CMS MessageListener interface and passing an instance of your implementation to the MessageConsumer's <b>setMessageListener</b> method.  When a new message arrives your listener's <b>onMessage</b> method will be called by the consumer in the context of another thread to allow you to process the Message received.  Below is a code snippet that demonstrates implementing the MessageListener interface.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Simple MessageListener Implementation.</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-class SimpleListener : <span class="code-keyword">public</span> cms::MessageListener {
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+class SimpleListener : public cms::MessageListener {
 
-    virtual void onMessage( <span class="code-keyword">const</span> Message* message ) {
+    virtual void onMessage( const Message* message ) {
 
-        <span class="code-keyword">const</span> TextMessage* textMessage =
-            dynamic_cast&lt; <span class="code-keyword">const</span> TextMessage* &gt;( message );
+        const TextMessage* textMessage =
+            dynamic_cast&lt; const TextMessage* &gt;( message );
         string text = "";
 
-        <span class="code-keyword">if</span>( textMessage != NULL ) {
+        if( textMessage != NULL ) {
             text = textMessage-&gt;getText();
-        } <span class="code-keyword">else</span> {
-            text = <span class="code-quote">"NOT A TEXTMESSAGE!"</span>;
+        } else {
+            text = "NOT A TEXTMESSAGE!";
         }
 
-        printf( <span class="code-quote">"Message Received: %s\n"</span>, text.c_str() );
+        printf( "Message Received: %s\n", text.c_str() );
 
     }
 };
 
-</pre>
+]]></script>
 </div></div>
 
 <p>In the sample above we create a new class called SimpleListener that prints the contents of a TextMessage when received, or print an message indicating that it did not receive a TextMessage as it had expected to.  Notice that the <b>onMessage</b> method receives a pointer to the base Message interface and we then attempt to dynamic cast to the type we think we should have received.  This allows your code to process multiple message types in one method.  The pointer passed is owned by the caller or onMessage so you shouldn't store it or delete it, if you need to keep a copy of the Message around you must create a copy by calling Message's <b>clone</b> method.</p>
@@ -352,12 +352,12 @@ class SimpleListener : <span class="code
 <p>Now that we have a MessageListener implementation to work with its time to see how to setup asynchronous consumption using the MessageConsumer we created previously.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Setting up Async Consumption.</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 SimpleListener listener;
 
 myConsumer-&gt;setMessageListener( &amp;listener );
 
-</pre>
+]]></script>
 </div></div>
 
 <p>That's it, we will now receive the messages sent to the Destination we created in the onMessage method of our SimpleListener instance.</p>
@@ -367,24 +367,24 @@ myConsumer-&gt;setMessageListener( &amp;
 <p>We've seen how to consume Messages now how do we produce them in the first place?  The answer is the CMS MessageProducer which is used to send messages to the broker for distribution to the various clients listening for Messages on the topic or queue.  Creating a MessageProducer is much the same as creating a MessageConsumer, you first create your Connection, Session, and Destination objects then use the Session to create a MessageProducer.  The code snippet below demonstrates how to create a MessageProducer.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Creating a MessageProducer from a CMS Session object</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-comment">// Create the ConnectionFactory
-</span>std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
-    cms::ConnectionFactory::createCMSConnectionFactory( <span class="code-quote">"tcp:<span class="code-comment">//127.0.0.1:61616"</span> ) );
-</span>
-<span class="code-comment">// Create a Connection
-</span>std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+// Create the ConnectionFactory
+std::auto_ptr&lt;cms::ConnectionFactory&gt; connectionFactory(
+    cms::ConnectionFactory::createCMSConnectionFactory( "tcp://127.0.0.1:61616" ) );
+
+// Create a Connection
+std::auto_ptr&lt;cms::Connection&gt; connection( connectionFactory-&gt;createConnection() );
 
-<span class="code-comment">// Create a <span class="code-keyword">new</span> Session from our Connection
-</span>std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
+// Create a new Session from our Connection
+std::auto_ptr&lt;cms::Session&gt; session( connection-&gt;createSession();
 
-<span class="code-comment">// Now create a Topic
-</span>std::auto_ptr&lt;cms::Topic&gt; myTopic( session-&gt;createTopic( <span class="code-quote">"EXAMPLE-TOPIC"</span> ) );
+// Now create a Topic
+std::auto_ptr&lt;cms::Topic&gt; myTopic( session-&gt;createTopic( "EXAMPLE-TOPIC" ) );
 
-<span class="code-comment">// Now create the Consumer
-</span>std::auto_ptr&lt;cms::MessageProducer&gt; myProducer( session-&gt;createProducer( myTopic ) );
+// Now create the Consumer
+std::auto_ptr&lt;cms::MessageProducer&gt; myProducer( session-&gt;createProducer( myTopic ) );
 
-</pre>
+]]></script>
 </div></div>
 
 <h2><a shape="rect" name="CMSAPIOverview-CompleteExamples"></a>Complete Examples</h2>
@@ -400,33 +400,33 @@ myConsumer-&gt;setMessageListener( &amp;
 <p>After the <em>runConsumer</em> method returns the main method waits for user input to exit, all messages received while the application is running will be dispatched to the onMessage method of SimpleAsyncConsumer and if the message is a TextMessage its contents will be printed onscreen.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>A Simple Asynchronous Consumer example</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
- * <span class="code-keyword">this</span> work <span class="code-keyword">for</span> additional information regarding copyright ownership.
- * The ASF licenses <span class="code-keyword">this</span> file to You under the Apache License, Version 2.0
- * (the <span class="code-quote">"License"</span>); you may not use <span class="code-keyword">this</span> file except in compliance with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http:<span class="code-comment">//www.apache.org/licenses/LICENSE-2.0
-</span> *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an <span class="code-quote">"AS IS"</span> BASIS,
+ * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License <span class="code-keyword">for</span> the specific language governing permissions and
+ * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include &lt;decaf/lang/<span class="code-object">Thread</span>.h&gt;
-#include &lt;decaf/lang/<span class="code-object">Runnable</span>.h&gt;
+#include &lt;decaf/lang/Thread.h&gt;
+#include &lt;decaf/lang/Runnable.h&gt;
 #include &lt;decaf/util/concurrent/CountDownLatch.h&gt;
 #include &lt;activemq/core/ActiveMQConnectionFactory.h&gt;
 #include &lt;activemq/core/ActiveMQConnection.h&gt;
 #include &lt;activemq/transport/DefaultTransportListener.h&gt;
 #include &lt;activemq/library/ActiveMQCPP.h&gt;
-#include &lt;decaf/lang/<span class="code-object">Integer</span>.h&gt;
+#include &lt;decaf/lang/Integer.h&gt;
 #include &lt;activemq/util/Config.h&gt;
 #include &lt;decaf/util/Date.h&gt;
 #include &lt;cms/Connection.h&gt;
@@ -449,11 +449,11 @@ using namespace decaf::util::concurrent;
 using namespace cms;
 using namespace std;
 
-<span class="code-comment">////////////////////////////////////////////////////////////////////////////////
-</span>class SimpleAsyncConsumer : <span class="code-keyword">public</span> ExceptionListener,
-                            <span class="code-keyword">public</span> MessageListener,
-                            <span class="code-keyword">public</span> DefaultTransportListener {
-<span class="code-keyword">private</span>:
+////////////////////////////////////////////////////////////////////////////////
+class SimpleAsyncConsumer : public ExceptionListener,
+                            public MessageListener,
+                            public DefaultTransportListener {
+private:
 
     Connection* connection;
     Session* session;
@@ -464,17 +464,17 @@ using namespace std;
     std::string destURI;
     bool clientAck;
 
-<span class="code-keyword">private</span>:
+private:
 
-    SimpleAsyncConsumer( <span class="code-keyword">const</span> SimpleAsyncConsumer&amp; );
-    SimpleAsyncConsumer&amp; <span class="code-keyword">operator</span>= ( <span class="code-keyword">const</span> SimpleAsyncConsumer&amp; );
+    SimpleAsyncConsumer( const SimpleAsyncConsumer&amp; );
+    SimpleAsyncConsumer&amp; operator= ( const SimpleAsyncConsumer&amp; );
 
-<span class="code-keyword">public</span>:
+public:
 
-    SimpleAsyncConsumer( <span class="code-keyword">const</span> std::string&amp; brokerURI,
-                         <span class="code-keyword">const</span> std::string&amp; destURI,
-                         bool useTopic = <span class="code-keyword">false</span>,
-                         bool clientAck = <span class="code-keyword">false</span> ) :
+    SimpleAsyncConsumer( const std::string&amp; brokerURI,
+                         const std::string&amp; destURI,
+                         bool useTopic = false,
+                         bool clientAck = false ) :
         connection(NULL),
         session(NULL),
         destination(NULL),
@@ -486,109 +486,109 @@ using namespace std;
     }
 
     virtual ~SimpleAsyncConsumer() {
-        <span class="code-keyword">this</span>-&gt;cleanup();
+        this-&gt;cleanup();
     }
 
     void close() {
-        <span class="code-keyword">this</span>-&gt;cleanup();
+        this-&gt;cleanup();
     }
 
     void runConsumer() {
 
-        <span class="code-keyword">try</span> {
+        try {
 
-            <span class="code-comment">// Create a ConnectionFactory
-</span>            ActiveMQConnectionFactory* connectionFactory =
-                <span class="code-keyword">new</span> ActiveMQConnectionFactory( brokerURI );
+            // Create a ConnectionFactory
+            ActiveMQConnectionFactory* connectionFactory =
+                new ActiveMQConnectionFactory( brokerURI );
 
-            <span class="code-comment">// Create a Connection
-</span>            connection = connectionFactory-&gt;createConnection();
+            // Create a Connection
+            connection = connectionFactory-&gt;createConnection();
             delete connectionFactory;
 
             ActiveMQConnection* amqConnection = dynamic_cast&lt;ActiveMQConnection*&gt;( connection );
-            <span class="code-keyword">if</span>( amqConnection != NULL ) {
-                amqConnection-&gt;addTransportListener( <span class="code-keyword">this</span> );
+            if( amqConnection != NULL ) {
+                amqConnection-&gt;addTransportListener( this );
             }
 
             connection-&gt;start();
 
-            connection-&gt;setExceptionListener(<span class="code-keyword">this</span>);
+            connection-&gt;setExceptionListener(this);
 
-            <span class="code-comment">// Create a Session
-</span>            <span class="code-keyword">if</span>( clientAck ) {
+            // Create a Session
+            if( clientAck ) {
                 session = connection-&gt;createSession( Session::CLIENT_ACKNOWLEDGE );
-            } <span class="code-keyword">else</span> {
+            } else {
                 session = connection-&gt;createSession( Session::AUTO_ACKNOWLEDGE );
             }
 
-            <span class="code-comment">// Create the destination (Topic or Queue)
-</span>            <span class="code-keyword">if</span>( useTopic ) {
+            // Create the destination (Topic or Queue)
+            if( useTopic ) {
                 destination = session-&gt;createTopic( destURI );
-            } <span class="code-keyword">else</span> {
+            } else {
                 destination = session-&gt;createQueue( destURI );
             }
 
-            <span class="code-comment">// Create a MessageConsumer from the Session to the Topic or Queue
-</span>            consumer = session-&gt;createConsumer( destination );
-            consumer-&gt;setMessageListener( <span class="code-keyword">this</span> );
+            // Create a MessageConsumer from the Session to the Topic or Queue
+            consumer = session-&gt;createConsumer( destination );
+            consumer-&gt;setMessageListener( this );
 
-        } <span class="code-keyword">catch</span> (CMSException&amp; e) {
+        } catch (CMSException&amp; e) {
             e.printStackTrace();
         }
     }
 
-    <span class="code-comment">// Called from the consumer since <span class="code-keyword">this</span> class is a registered MessageListener.
-</span>    virtual void onMessage( <span class="code-keyword">const</span> Message* message ) {
+    // Called from the consumer since this class is a registered MessageListener.
+    virtual void onMessage( const Message* message ) {
 
-        <span class="code-keyword">static</span> <span class="code-object">int</span> count = 0;
+        static int count = 0;
 
-        <span class="code-keyword">try</span>
+        try
         {
             count++;
-            <span class="code-keyword">const</span> TextMessage* textMessage =
-                dynamic_cast&lt; <span class="code-keyword">const</span> TextMessage* &gt;( message );
+            const TextMessage* textMessage =
+                dynamic_cast&lt; const TextMessage* &gt;( message );
             string text = "";
 
-            <span class="code-keyword">if</span>( textMessage != NULL ) {
+            if( textMessage != NULL ) {
                 text = textMessage-&gt;getText();
-            } <span class="code-keyword">else</span> {
-                text = <span class="code-quote">"NOT A TEXTMESSAGE!"</span>;
+            } else {
+                text = "NOT A TEXTMESSAGE!";
             }
 
-            <span class="code-keyword">if</span>( clientAck ) {
+            if( clientAck ) {
                 message-&gt;acknowledge();
             }
 
-            printf( <span class="code-quote">"Message #%d Received: %s\n"</span>, count, text.c_str() );
-        } <span class="code-keyword">catch</span> (CMSException&amp; e) {
+            printf( "Message #%d Received: %s\n", count, text.c_str() );
+        } catch (CMSException&amp; e) {
             e.printStackTrace();
         }
     }
 
-    <span class="code-comment">// If something bad happens you see it here as <span class="code-keyword">this</span> class is also been
-</span>    <span class="code-comment">// registered as an ExceptionListener with the connection.
-</span>    virtual void onException( <span class="code-keyword">const</span> CMSException&amp; ex AMQCPP_UNUSED ) {
-        printf(<span class="code-quote">"CMS Exception occurred.  Shutting down client.\n"</span>);
+    // If something bad happens you see it here as this class is also been
+    // registered as an ExceptionListener with the connection.
+    virtual void onException( const CMSException&amp; ex AMQCPP_UNUSED ) {
+        printf("CMS Exception occurred.  Shutting down client.\n");
         exit(1);
     }
 
     virtual void transportInterrupted() {
-        std::cout &lt;&lt; <span class="code-quote">"The Connection's Transport has been Interrupted."</span> &lt;&lt; std::endl;
+        std::cout &lt;&lt; "The Connection's Transport has been Interrupted." &lt;&lt; std::endl;
     }
 
     virtual void transportResumed() {
-        std::cout &lt;&lt; <span class="code-quote">"The Connection's Transport has been Restored."</span> &lt;&lt; std::endl;
+        std::cout &lt;&lt; "The Connection's Transport has been Restored." &lt;&lt; std::endl;
     }
 
-<span class="code-keyword">private</span>:
+private:
 
     void cleanup(){
 
-        <span class="code-keyword">try</span> {
-            <span class="code-keyword">if</span>( connection != NULL ) {
+        try {
+            if( connection != NULL ) {
                 connection-&gt;close();
             }
-        } <span class="code-keyword">catch</span> ( CMSException&amp; e ) { 
+        } catch ( CMSException&amp; e ) { 
             e.printStackTrace(); 
         }
 
@@ -599,66 +599,66 @@ using namespace std;
     }
 };
 
-<span class="code-comment">////////////////////////////////////////////////////////////////////////////////
-</span><span class="code-object">int</span> main(<span class="code-object">int</span> argc AMQCPP_UNUSED, <span class="code-object">char</span>* argv[] AMQCPP_UNUSED) {
+////////////////////////////////////////////////////////////////////////////////
+int main(int argc AMQCPP_UNUSED, char* argv[] AMQCPP_UNUSED) {
 
     activemq::library::ActiveMQCPP::initializeLibrary();
 
-    std::cout &lt;&lt; <span class="code-quote">"=====================================================\n"</span>;
-    std::cout &lt;&lt; <span class="code-quote">"Starting the example:"</span> &lt;&lt; std::endl;
-    std::cout &lt;&lt; <span class="code-quote">"-----------------------------------------------------\n"</span>;
-
-    <span class="code-comment">// Set the URI to point to the IPAddress of your broker.
-</span>    <span class="code-comment">// add any optional params to the url to enable things like
-</span>    <span class="code-comment">// tightMarshalling or tcp logging etc.  See the CMS web site <span class="code-keyword">for</span>
-</span>    <span class="code-comment">// a full list of configuration options.
-</span>    <span class="code-comment">//
-</span>    <span class="code-comment">//  http://activemq.apache.org/cms/
-</span>    <span class="code-comment">//
-</span>    std::string brokerURI =
-        <span class="code-quote">"failover:(tcp:<span class="code-comment">//127.0.0.1:61616)"</span>;
-</span>
-    <span class="code-comment">//============================================================
-</span>    <span class="code-comment">// This is the Destination Name and URI options.  Use <span class="code-keyword">this</span> to
-</span>    <span class="code-comment">// customize where the consumer listens, to have the consumer
-</span>    <span class="code-comment">// use a topic or queue set the 'useTopics' flag.
-</span>    <span class="code-comment">//============================================================
-</span>    std::string destURI = <span class="code-quote">"TEST.FOO"</span>; <span class="code-comment">//?consumer.prefetchSize=1";
-</span>
-    <span class="code-comment">//============================================================
-</span>    <span class="code-comment">// set to <span class="code-keyword">true</span> to use topics instead of queues
-</span>    <span class="code-comment">// Note in the code above that <span class="code-keyword">this</span> causes createTopic or
-</span>    <span class="code-comment">// createQueue to be used in the consumer.
-</span>    <span class="code-comment">//============================================================
-</span>    bool useTopics = <span class="code-keyword">false</span>;
-
-    <span class="code-comment">//============================================================
-</span>    <span class="code-comment">// set to <span class="code-keyword">true</span> <span class="code-keyword">if</span> you want the consumer to use client ack mode
-</span>    <span class="code-comment">// instead of the <span class="code-keyword">default</span> auto ack mode.
-</span>    <span class="code-comment">//============================================================
-</span>    bool clientAck = <span class="code-keyword">false</span>;
-
-    <span class="code-comment">// Create the consumer
-</span>    SimpleAsyncConsumer consumer( brokerURI, destURI, useTopics, clientAck );
-
-    <span class="code-comment">// Start it up and it will listen forever.
-</span>    consumer.runConsumer();
-
-    <span class="code-comment">// Wait to exit.
-</span>    std::cout &lt;&lt; <span class="code-quote">"Press 'q' to quit"</span> &lt;&lt; std::endl;
-    <span class="code-keyword">while</span>( std::cin.get() != 'q') {}
-
-    <span class="code-comment">// All CMS resources should be closed before the library is shutdown.
-</span>    consumer.close();
-
-    std::cout &lt;&lt; <span class="code-quote">"-----------------------------------------------------\n"</span>;
-    std::cout &lt;&lt; <span class="code-quote">"Finished with the example."</span> &lt;&lt; std::endl;
-    std::cout &lt;&lt; <span class="code-quote">"=====================================================\n"</span>;
+    std::cout &lt;&lt; "=====================================================\n";
+    std::cout &lt;&lt; "Starting the example:" &lt;&lt; std::endl;
+    std::cout &lt;&lt; "-----------------------------------------------------\n";
+
+    // Set the URI to point to the IPAddress of your broker.
+    // add any optional params to the url to enable things like
+    // tightMarshalling or tcp logging etc.  See the CMS web site for
+    // a full list of configuration options.
+    //
+    //  http://activemq.apache.org/cms/
+    //
+    std::string brokerURI =
+        "failover:(tcp://127.0.0.1:61616)";
+
+    //============================================================
+    // This is the Destination Name and URI options.  Use this to
+    // customize where the consumer listens, to have the consumer
+    // use a topic or queue set the 'useTopics' flag.
+    //============================================================
+    std::string destURI = "TEST.FOO"; //?consumer.prefetchSize=1";
+
+    //============================================================
+    // set to true to use topics instead of queues
+    // Note in the code above that this causes createTopic or
+    // createQueue to be used in the consumer.
+    //============================================================
+    bool useTopics = false;
+
+    //============================================================
+    // set to true if you want the consumer to use client ack mode
+    // instead of the default auto ack mode.
+    //============================================================
+    bool clientAck = false;
+
+    // Create the consumer
+    SimpleAsyncConsumer consumer( brokerURI, destURI, useTopics, clientAck );
+
+    // Start it up and it will listen forever.
+    consumer.runConsumer();
+
+    // Wait to exit.
+    std::cout &lt;&lt; "Press 'q' to quit" &lt;&lt; std::endl;
+    while( std::cin.get() != 'q') {}
+
+    // All CMS resources should be closed before the library is shutdown.
+    consumer.close();
+
+    std::cout &lt;&lt; "-----------------------------------------------------\n";
+    std::cout &lt;&lt; "Finished with the example." &lt;&lt; std::endl;
+    std::cout &lt;&lt; "=====================================================\n";
 
     activemq::library::ActiveMQCPP::shutdownLibrary();
 }
 
-</pre>
+]]></script>
 </div></div>
 
 <h3><a shape="rect" name="CMSAPIOverview-SimpleProducer"></a>Simple Producer</h3>
@@ -666,29 +666,29 @@ using namespace std;
 <p>Much like the Simple Asynchronous Consumer example the Simple Producer example wraps up the CMS API detials needed to create a producer into a class called <b>SimpleProducer</b>.  This class exposes a simillar interface to the consumer example, there is one constructor that allows an instance to be created with configuration options for the broker and destination as well as the number of messages to send to the configured destination.  Once created the client code simply calls the SimpleProducer's <em>run</em> method to publish the specified number of messages.  Once the <em>run</em> method completes the client is free to close the SimpleProducer which cleans up the allocated CMS resources, once closed the application exits.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>A Simple Message Producer Example</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
- * <span class="code-keyword">this</span> work <span class="code-keyword">for</span> additional information regarding copyright ownership.
- * The ASF licenses <span class="code-keyword">this</span> file to You under the Apache License, Version 2.0
- * (the <span class="code-quote">"License"</span>); you may not use <span class="code-keyword">this</span> file except in compliance with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
- *     http:<span class="code-comment">//www.apache.org/licenses/LICENSE-2.0
-</span> *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an <span class="code-quote">"AS IS"</span> BASIS,
+ * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License <span class="code-keyword">for</span> the specific language governing permissions and
+ * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include &lt;decaf/lang/<span class="code-object">Thread</span>.h&gt;
-#include &lt;decaf/lang/<span class="code-object">Runnable</span>.h&gt;
+#include &lt;decaf/lang/Thread.h&gt;
+#include &lt;decaf/lang/Runnable.h&gt;
 #include &lt;decaf/util/concurrent/CountDownLatch.h&gt;
-#include &lt;decaf/lang/<span class="code-object">Long</span>.h&gt;
+#include &lt;decaf/lang/Long.h&gt;
 #include &lt;decaf/util/Date.h&gt;
 #include &lt;activemq/core/ActiveMQConnectionFactory.h&gt;
 #include &lt;activemq/util/Config.h&gt;
@@ -714,9 +714,9 @@ using namespace decaf::util::concurrent;
 using namespace cms;
 using namespace std;
 
-<span class="code-comment">////////////////////////////////////////////////////////////////////////////////
-</span>class SimpleProducer : <span class="code-keyword">public</span> <span class="code-object">Runnable</span> {
-<span class="code-keyword">private</span>:
+////////////////////////////////////////////////////////////////////////////////
+class SimpleProducer : public Runnable {
+private:
 
     Connection* connection;
     Session* session;
@@ -724,19 +724,19 @@ using namespace std;
     MessageProducer* producer;
     bool useTopic;
     bool clientAck;
-    unsigned <span class="code-object">int</span> numMessages;
+    unsigned int numMessages;
     std::string brokerURI;
     std::string destURI;
 
-<span class="code-keyword">private</span>:
+private:
 
-    SimpleProducer( <span class="code-keyword">const</span> SimpleProducer&amp; );
-    SimpleProducer&amp; <span class="code-keyword">operator</span>= ( <span class="code-keyword">const</span> SimpleProducer&amp; );
+    SimpleProducer( const SimpleProducer&amp; );
+    SimpleProducer&amp; operator= ( const SimpleProducer&amp; );
 
-<span class="code-keyword">public</span>:
+public:
 
-    SimpleProducer( <span class="code-keyword">const</span> std::string&amp; brokerURI, unsigned <span class="code-object">int</span> numMessages,
-                    <span class="code-keyword">const</span> std::string&amp; destURI, bool useTopic = <span class="code-keyword">false</span>, bool clientAck = <span class="code-keyword">false</span> ) :
+    SimpleProducer( const std::string&amp; brokerURI, unsigned int numMessages,
+                    const std::string&amp; destURI, bool useTopic = false, bool clientAck = false ) :
         connection(NULL),
         session(NULL),
         destination(NULL),
@@ -753,75 +753,75 @@ using namespace std;
     }
 
     void close() {
-        <span class="code-keyword">this</span>-&gt;cleanup();
+        this-&gt;cleanup();
     }
 
     virtual void run() {
-        <span class="code-keyword">try</span> {
+        try {
 
-            <span class="code-comment">// Create a ConnectionFactory
-</span>            auto_ptr&lt;ActiveMQConnectionFactory&gt; connectionFactory(
-                <span class="code-keyword">new</span> ActiveMQConnectionFactory( brokerURI ) );
+            // Create a ConnectionFactory
+            auto_ptr&lt;ActiveMQConnectionFactory&gt; connectionFactory(
+                new ActiveMQConnectionFactory( brokerURI ) );
 
-            <span class="code-comment">// Create a Connection
-</span>            <span class="code-keyword">try</span>{
+            // Create a Connection
+            try{
                 connection = connectionFactory-&gt;createConnection();
                 connection-&gt;start();
-            } <span class="code-keyword">catch</span>( CMSException&amp; e ) {
+            } catch( CMSException&amp; e ) {
                 e.printStackTrace();
-                <span class="code-keyword">throw</span> e;
+                throw e;
             }
 
-            <span class="code-comment">// Create a Session
-</span>            <span class="code-keyword">if</span>( clientAck ) {
+            // Create a Session
+            if( clientAck ) {
                 session = connection-&gt;createSession( Session::CLIENT_ACKNOWLEDGE );
-            } <span class="code-keyword">else</span> {
+            } else {
                 session = connection-&gt;createSession( Session::AUTO_ACKNOWLEDGE );
             }
 
-            <span class="code-comment">// Create the destination (Topic or Queue)
-</span>            <span class="code-keyword">if</span>( useTopic ) {
+            // Create the destination (Topic or Queue)
+            if( useTopic ) {
                 destination = session-&gt;createTopic( destURI );
-            } <span class="code-keyword">else</span> {
+            } else {
                 destination = session-&gt;createQueue( destURI );
             }
 
-            <span class="code-comment">// Create a MessageProducer from the Session to the Topic or Queue
-</span>            producer = session-&gt;createProducer( destination );
+            // Create a MessageProducer from the Session to the Topic or Queue
+            producer = session-&gt;createProducer( destination );
             producer-&gt;setDeliveryMode( DeliveryMode::NON_PERSISTENT );
 
-            <span class="code-comment">// Create the <span class="code-object">Thread</span> Id <span class="code-object">String</span>
-</span>            string threadIdStr = <span class="code-object">Long</span>::toString( <span class="code-object">Thread</span>::currentThread()-&gt;getId() );
+            // Create the Thread Id String
+            string threadIdStr = Long::toString( Thread::currentThread()-&gt;getId() );
 
-            <span class="code-comment">// Create a messages
-</span>            string text = (string)<span class="code-quote">"Hello world! from thread "</span> + threadIdStr;
+            // Create a messages
+            string text = (string)"Hello world! from thread " + threadIdStr;
 
-            <span class="code-keyword">for</span>( unsigned <span class="code-object">int</span> ix=0; ix&lt;numMessages; ++ix ){
+            for( unsigned int ix=0; ix&lt;numMessages; ++ix ){
                 TextMessage* message = session-&gt;createTextMessage( text );
 
-                message-&gt;setIntProperty( <span class="code-quote">"<span class="code-object">Integer</span>"</span>, ix );
+                message-&gt;setIntProperty( "Integer", ix );
 
-                <span class="code-comment">// Tell the producer to send the message
-</span>                printf( <span class="code-quote">"Sent message #%d from thread %s\n"</span>, ix+1, threadIdStr.c_str() );
+                // Tell the producer to send the message
+                printf( "Sent message #%d from thread %s\n", ix+1, threadIdStr.c_str() );
                 producer-&gt;send( message );
 
                 delete message;
             }
 
-        }<span class="code-keyword">catch</span> ( CMSException&amp; e ) {
+        }catch ( CMSException&amp; e ) {
             e.printStackTrace();
         }
     }
 
-<span class="code-keyword">private</span>:
+private:
 
     void cleanup(){
 
-        <span class="code-keyword">try</span> {
-            <span class="code-keyword">if</span>( connection != NULL ) {
+        try {
+            if( connection != NULL ) {
                 connection-&gt;close();
             }
-        } <span class="code-keyword">catch</span> ( CMSException&amp; e ) { 
+        } catch ( CMSException&amp; e ) { 
             e.printStackTrace(); 
         }
 
@@ -832,61 +832,61 @@ using namespace std;
     }
 };
 
-<span class="code-comment">////////////////////////////////////////////////////////////////////////////////
-</span><span class="code-object">int</span> main(<span class="code-object">int</span> argc AMQCPP_UNUSED, <span class="code-object">char</span>* argv[] AMQCPP_UNUSED) {
+////////////////////////////////////////////////////////////////////////////////
+int main(int argc AMQCPP_UNUSED, char* argv[] AMQCPP_UNUSED) {
 
     activemq::library::ActiveMQCPP::initializeLibrary();
 
-    std::cout &lt;&lt; <span class="code-quote">"=====================================================\n"</span>;
-    std::cout &lt;&lt; <span class="code-quote">"Starting the example:"</span> &lt;&lt; std::endl;
-    std::cout &lt;&lt; <span class="code-quote">"-----------------------------------------------------\n"</span>;
-
-    <span class="code-comment">// Set the URI to point to the IPAddress of your broker.
-</span>    <span class="code-comment">// add any optional params to the url to enable things like
-</span>    <span class="code-comment">// tightMarshalling or tcp logging etc.  See the CMS web site <span class="code-keyword">for</span>
-</span>    <span class="code-comment">// a full list of configuration options.
-</span>    <span class="code-comment">//
-</span>    <span class="code-comment">//  http://activemq.apache.org/cms/
-</span>    <span class="code-comment">//
-</span>    std::string brokerURI =
-        <span class="code-quote">"failover:<span class="code-comment">//(tcp://127.0.0.1:61616)"</span>;
-</span>
-    <span class="code-comment">//============================================================
-</span>    <span class="code-comment">// Total number of messages <span class="code-keyword">for</span> <span class="code-keyword">this</span> producer to send.
-</span>    <span class="code-comment">//============================================================
-</span>    unsigned <span class="code-object">int</span> numMessages = 2000;
-
-    <span class="code-comment">//============================================================
-</span>    <span class="code-comment">// This is the Destination Name and URI options.  Use <span class="code-keyword">this</span> to
-</span>    <span class="code-comment">// customize where the Producer produces, to have the producer
-</span>    <span class="code-comment">// use a topic or queue set the 'useTopics' flag.
-</span>    <span class="code-comment">//============================================================
-</span>    std::string destURI = <span class="code-quote">"TEST.FOO"</span>;
-
-    <span class="code-comment">//============================================================
-</span>    <span class="code-comment">// set to <span class="code-keyword">true</span> to use topics instead of queues
-</span>    <span class="code-comment">// Note in the code above that <span class="code-keyword">this</span> causes createTopic or
-</span>    <span class="code-comment">// createQueue to be used in the producer.
-</span>    <span class="code-comment">//============================================================
-</span>    bool useTopics = <span class="code-keyword">false</span>;
-
-    <span class="code-comment">// Create the producer and run it.
-</span>    SimpleProducer producer( brokerURI, numMessages, destURI, useTopics );
-
-    <span class="code-comment">// Publish the given number of Messages
-</span>    producer.run();
-
-    <span class="code-comment">// Before exiting we ensure that all CMS resources are closed.
-</span>    producer.close();
-
-    std::cout &lt;&lt; <span class="code-quote">"-----------------------------------------------------\n"</span>;
-    std::cout &lt;&lt; <span class="code-quote">"Finished with the example."</span> &lt;&lt; std::endl;
-    std::cout &lt;&lt; <span class="code-quote">"=====================================================\n"</span>;
+    std::cout &lt;&lt; "=====================================================\n";
+    std::cout &lt;&lt; "Starting the example:" &lt;&lt; std::endl;
+    std::cout &lt;&lt; "-----------------------------------------------------\n";
+
+    // Set the URI to point to the IPAddress of your broker.
+    // add any optional params to the url to enable things like
+    // tightMarshalling or tcp logging etc.  See the CMS web site for
+    // a full list of configuration options.
+    //
+    //  http://activemq.apache.org/cms/
+    //
+    std::string brokerURI =
+        "failover://(tcp://127.0.0.1:61616)";
+
+    //============================================================
+    // Total number of messages for this producer to send.
+    //============================================================
+    unsigned int numMessages = 2000;
+
+    //============================================================
+    // This is the Destination Name and URI options.  Use this to
+    // customize where the Producer produces, to have the producer
+    // use a topic or queue set the 'useTopics' flag.
+    //============================================================
+    std::string destURI = "TEST.FOO";
+
+    //============================================================
+    // set to true to use topics instead of queues
+    // Note in the code above that this causes createTopic or
+    // createQueue to be used in the producer.
+    //============================================================
+    bool useTopics = false;
+
+    // Create the producer and run it.
+    SimpleProducer producer( brokerURI, numMessages, destURI, useTopics );
+
+    // Publish the given number of Messages
+    producer.run();
+
+    // Before exiting we ensure that all CMS resources are closed.
+    producer.close();
+
+    std::cout &lt;&lt; "-----------------------------------------------------\n";
+    std::cout &lt;&lt; "Finished with the example." &lt;&lt; std::endl;
+    std::cout &lt;&lt; "=====================================================\n";
 
     activemq::library::ActiveMQCPP::shutdownLibrary();
 }
 
-</pre>
+]]></script>
 </div></div>
           </div>
         </td>
@@ -911,8 +911,8 @@ using namespace std;
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/community.html
==============================================================================
--- websites/production/activemq/content/cms/community.html (original)
+++ websites/production/activemq/content/cms/community.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -96,8 +96,8 @@
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/configuring.html
==============================================================================
--- websites/production/activemq/content/cms/configuring.html (original)
+++ websites/production/activemq/content/cms/configuring.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -84,19 +84,19 @@
 <p>This first example uses a standard TCP based transport.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-cf = <span class="code-keyword">new</span> ActiveMQConnectionFactory(
-    <span class="code-quote">"tcp:<span class="code-comment">//localhost:61616?wireFormat=openwire&amp;wireFormat.tightEncodingEnabled=<span class="code-keyword">true</span>"</span>);</span>
-</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+cf = new ActiveMQConnectionFactory(
+    "tcp://localhost:61616?wireFormat=openwire&amp;wireFormat.tightEncodingEnabled=true");
+]]></script>
 </div></div>
 
 <p>For a more reliable connection use the Failover Transport and configure in alternate locations to connect to.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-cf = <span class="code-keyword">new</span> ActiveMQConnectionFactory(
-    <span class="code-quote">"failover:<span class="code-comment">//(tcp://localhost:61616,tcp://anotherhost:61616)?connection.useAsyncSend=<span class="code-keyword">true</span>"</span>);</span>
-</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+cf = new ActiveMQConnectionFactory(
+    "failover://(tcp://localhost:61616,tcp://anotherhost:61616)?connection.useAsyncSend=true");
+]]></script>
 </div></div>
 
 <h3><a shape="rect" name="Configuring-ProtocolOptions"></a>Protocol Options</h3>
@@ -172,9 +172,9 @@ cf = <span class="code-keyword">new</spa
 <h5><a shape="rect" name="Configuring-ExampleConfiguration"></a>Example Configuration</h5>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-d = session-&gt;createTopic(<span class="code-quote">"com.foo?consumer.prefetchSize=2000&amp;consumer.noLocal=<span class="code-keyword">true</span>"</span>);
-</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+d = session-&gt;createTopic("com.foo?consumer.prefetchSize=2000&amp;consumer.noLocal=true");
+]]></script>
 </div></div>
 
 <h4><a shape="rect" name="Configuring-GeneralOptions"></a><b>General Options</b></h4>
@@ -213,8 +213,8 @@ d = session-&gt;createTopic(<span class=
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/connectivity.html
==============================================================================
--- websites/production/activemq/content/cms/connectivity.html (original)
+++ websites/production/activemq/content/cms/connectivity.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -99,8 +99,8 @@
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/creating-distributions.html
==============================================================================
--- websites/production/activemq/content/cms/creating-distributions.html (original)
+++ websites/production/activemq/content/cms/creating-distributions.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -171,8 +171,8 @@ gpg --armor --output foo.zip.asc --detac
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/developers.html
==============================================================================
--- websites/production/activemq/content/cms/developers.html (original)
+++ websites/production/activemq/content/cms/developers.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -96,8 +96,8 @@
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/discussion-forums.html
==============================================================================
--- websites/production/activemq/content/cms/discussion-forums.html (original)
+++ websites/production/activemq/content/cms/discussion-forums.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -107,8 +107,8 @@
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/download.html
==============================================================================
--- websites/production/activemq/content/cms/download.html (original)
+++ websites/production/activemq/content/cms/download.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -78,9 +78,11 @@
 
 <p>The latest stable release of the code is the <a shape="rect" href="activemq-cpp-370-release.html" title="ActiveMQ-CPP 3.7.0 Release">ActiveMQ-CPP 3.7.0 Release</a>.</p>
 
+<p>The next stable release of the code will be the <a shape="rect" href="activemq-cpp-371-release.html" title="ActiveMQ-CPP 3.7.1 Release">ActiveMQ-CPP 3.7.1 Release</a>.</p>
+
 <h3><a shape="rect" name="Download-AllReleases"></a>All Releases</h3>
 
-<ul><li><a shape="rect" href="activemq-cpp-370-release.html" title="ActiveMQ-CPP 3.7.0 Release">ActiveMQ-CPP 3.7.0 Release</a></li><li><a shape="rect" href="activemq-cpp-360-release.html" title="ActiveMQ-CPP 3.6.0 Release">ActiveMQ-CPP 3.6.0 Release</a></li><li><a shape="rect" href="activemq-cpp-350-release.html" title="ActiveMQ-CPP 3.5.0 Release">ActiveMQ-CPP 3.5.0 Release</a></li><li><a shape="rect" href="activemq-cpp-345-release.html" title="ActiveMQ-CPP 3.4.5 Release">ActiveMQ-CPP 3.4.5 Release</a></li><li><a shape="rect" href="activemq-cpp-344-release.html" title="ActiveMQ-CPP 3.4.4 Release">ActiveMQ-CPP 3.4.4 Release</a></li><li><a shape="rect" href="activemq-cpp-343-release.html" title="ActiveMQ-CPP 3.4.3 Release">ActiveMQ-CPP 3.4.3 Release</a></li><li><a shape="rect" href="activemq-cpp-342-release.html" title="ActiveMQ-CPP 3.4.2 Release">ActiveMQ-CPP 3.4.2 Release</a></li><li><a shape="rect" href="activemq-cpp-341-release.html" title="ActiveMQ-CPP 3.4.1 Release">ActiveMQ-CPP
  3.4.1 Release</a></li><li><a shape="rect" href="activemq-cpp-340-release.html" title="ActiveMQ-CPP 3.4.0 Release">ActiveMQ-CPP 3.4.0 Release</a></li><li><a shape="rect" href="activemq-cpp-330-release.html" title="ActiveMQ-CPP 3.3.0 Release">ActiveMQ-CPP 3.3.0 Release</a></li><li><a shape="rect" href="activemq-cpp-325-release.html" title="ActiveMQ-CPP 3.2.5 Release">ActiveMQ-CPP 3.2.5 Release</a></li><li><a shape="rect" href="activemq-cpp-324-release.html" title="ActiveMQ-CPP 3.2.4 Release">ActiveMQ-CPP 3.2.4 Release</a></li><li><a shape="rect" href="activemq-cpp-323-release.html" title="ActiveMQ-CPP 3.2.3 Release">ActiveMQ-CPP 3.2.3 Release</a></li><li><a shape="rect" href="activemq-cpp-322-release.html" title="ActiveMQ-CPP 3.2.2 Release">ActiveMQ-CPP 3.2.2 Release</a></li><li><a shape="rect" href="activemq-cpp-321-release.html" title="ActiveMQ-CPP 3.2.1 Release">ActiveMQ-CPP 3.2.1 Release</a></li><li><a shape="rect" href="activemq-cpp-320-release.html" title="ActiveMQ-CPP 3.2.0 Re
 lease">ActiveMQ-CPP 3.2.0 Release</a></li><li><a shape="rect" href="activemq-cpp-313-release.html" title="ActiveMQ-CPP 3.1.3 Release">ActiveMQ-CPP 3.1.3 Release</a></li><li><a shape="rect" href="activemq-cpp-312-release.html" title="ActiveMQ-CPP 3.1.2 Release">ActiveMQ-CPP 3.1.2 Release</a></li><li><a shape="rect" href="activemq-cpp-311-release.html" title="ActiveMQ-CPP 3.1.1 Release">ActiveMQ-CPP 3.1.1 Release</a></li><li><a shape="rect" href="activemq-cpp-310-release.html" title="ActiveMQ-CPP 3.1.0 Release">ActiveMQ-CPP 3.1.0 Release</a></li><li><a shape="rect" href="activemq-cpp-301-release.html" title="ActiveMQ-CPP 3.0.1 Release">ActiveMQ-CPP 3.0.1 Release</a></li><li><a shape="rect" href="activemq-cpp-30-release.html" title="ActiveMQ-CPP 3.0 Release">ActiveMQ-CPP 3.0 Release</a></li><li><a shape="rect" href="activemq-cpp-226-release.html" title="ActiveMQ-CPP 2.2.6 Release">ActiveMQ-CPP 2.2.6 Release</a></li><li><a shape="rect" href="activemq-cpp-225-release.html" title="ActiveM
 Q-CPP 2.2.5 Release">ActiveMQ-CPP 2.2.5 Release</a></li><li><a shape="rect" href="activemq-cpp-224-release.html" title="ActiveMQ-CPP 2.2.4 Release">ActiveMQ-CPP 2.2.4 Release</a></li><li><a shape="rect" href="activemq-cpp-223-release.html" title="ActiveMQ-CPP 2.2.3 Release">ActiveMQ-CPP 2.2.3 Release</a></li><li><a shape="rect" href="activemq-cpp-222-release.html" title="ActiveMQ-CPP 2.2.2 Release">ActiveMQ-CPP 2.2.2 Release</a></li><li><a shape="rect" href="activemq-cpp-221-release.html" title="ActiveMQ-CPP 2.2.1 Release">ActiveMQ-CPP 2.2.1 Release</a></li><li><a shape="rect" href="activemq-cpp-22-release.html" title="ActiveMQ CPP 2.2 Release">ActiveMQ CPP 2.2 Release</a></li><li><a shape="rect" href="activemq-cpp-213-release.html" title="ActiveMQ-CPP 2.1.3 Release">ActiveMQ-CPP 2.1.3 Release</a></li><li><a shape="rect" href="activemq-cpp-libtool-and-packaging-notes.html" title="ActiveMQ-CPP, libtool and packaging notes">ActiveMQ-CPP, libtool and packaging notes</a></li><li><a shap
 e="rect" href="activemq-cpp-212-release.html" title="ActiveMQ-CPP 2.1.2 Release">ActiveMQ-CPP 2.1.2 Release</a></li><li><a shape="rect" href="activemq-cpp-211-release.html" title="ActiveMQ-CPP 2.1.1 Release">ActiveMQ-CPP 2.1.1 Release</a></li><li><a shape="rect" href="cms-api-12-release.html" title="CMS API 1.2 Release">CMS API 1.2 Release</a></li><li><a shape="rect" href="activemq-cpp-21-release.html" title="ActiveMQ-CPP 2.1 Release">ActiveMQ-CPP 2.1 Release</a></li><li><a shape="rect" href="cms-api-11-release.html" title="CMS API 1.1 Release">CMS API 1.1 Release</a></li><li><a shape="rect" href="activemq-cpp-201-release.html" title="ActiveMQ-CPP 2.0.1 Release">ActiveMQ-CPP 2.0.1 Release</a></li><li><a shape="rect" href="cms-api-10-release.html" title="CMS API 1.0 Release">CMS API 1.0 Release</a></li><li><a shape="rect" href="activemq-cpp-20-release.html" title="ActiveMQ-CPP 2.0 Release">ActiveMQ-CPP 2.0 Release</a></li><li><a shape="rect" href="activemq-cpp-11-release.html" title=
 "ActiveMQ-CPP 1.1 Release">ActiveMQ-CPP 1.1 Release</a></li><li><a shape="rect" href="activemq-cpp-10-release.html" title="ActiveMQ-CPP 1.0 Release">ActiveMQ-CPP 1.0 Release</a></li></ul>
+<ul><li><a shape="rect" href="activemq-cpp-371-release.html" title="ActiveMQ-CPP 3.7.1 Release">ActiveMQ-CPP 3.7.1 Release</a></li><li><a shape="rect" href="activemq-cpp-370-release.html" title="ActiveMQ-CPP 3.7.0 Release">ActiveMQ-CPP 3.7.0 Release</a></li><li><a shape="rect" href="activemq-cpp-360-release.html" title="ActiveMQ-CPP 3.6.0 Release">ActiveMQ-CPP 3.6.0 Release</a></li><li><a shape="rect" href="activemq-cpp-350-release.html" title="ActiveMQ-CPP 3.5.0 Release">ActiveMQ-CPP 3.5.0 Release</a></li><li><a shape="rect" href="activemq-cpp-345-release.html" title="ActiveMQ-CPP 3.4.5 Release">ActiveMQ-CPP 3.4.5 Release</a></li><li><a shape="rect" href="activemq-cpp-344-release.html" title="ActiveMQ-CPP 3.4.4 Release">ActiveMQ-CPP 3.4.4 Release</a></li><li><a shape="rect" href="activemq-cpp-343-release.html" title="ActiveMQ-CPP 3.4.3 Release">ActiveMQ-CPP 3.4.3 Release</a></li><li><a shape="rect" href="activemq-cpp-342-release.html" title="ActiveMQ-CPP 3.4.2 Release">ActiveMQ-CPP
  3.4.2 Release</a></li><li><a shape="rect" href="activemq-cpp-341-release.html" title="ActiveMQ-CPP 3.4.1 Release">ActiveMQ-CPP 3.4.1 Release</a></li><li><a shape="rect" href="activemq-cpp-340-release.html" title="ActiveMQ-CPP 3.4.0 Release">ActiveMQ-CPP 3.4.0 Release</a></li><li><a shape="rect" href="activemq-cpp-330-release.html" title="ActiveMQ-CPP 3.3.0 Release">ActiveMQ-CPP 3.3.0 Release</a></li><li><a shape="rect" href="activemq-cpp-325-release.html" title="ActiveMQ-CPP 3.2.5 Release">ActiveMQ-CPP 3.2.5 Release</a></li><li><a shape="rect" href="activemq-cpp-324-release.html" title="ActiveMQ-CPP 3.2.4 Release">ActiveMQ-CPP 3.2.4 Release</a></li><li><a shape="rect" href="activemq-cpp-323-release.html" title="ActiveMQ-CPP 3.2.3 Release">ActiveMQ-CPP 3.2.3 Release</a></li><li><a shape="rect" href="activemq-cpp-322-release.html" title="ActiveMQ-CPP 3.2.2 Release">ActiveMQ-CPP 3.2.2 Release</a></li><li><a shape="rect" href="activemq-cpp-321-release.html" title="ActiveMQ-CPP 3.2.1 Re
 lease">ActiveMQ-CPP 3.2.1 Release</a></li><li><a shape="rect" href="activemq-cpp-320-release.html" title="ActiveMQ-CPP 3.2.0 Release">ActiveMQ-CPP 3.2.0 Release</a></li><li><a shape="rect" href="activemq-cpp-313-release.html" title="ActiveMQ-CPP 3.1.3 Release">ActiveMQ-CPP 3.1.3 Release</a></li><li><a shape="rect" href="activemq-cpp-312-release.html" title="ActiveMQ-CPP 3.1.2 Release">ActiveMQ-CPP 3.1.2 Release</a></li><li><a shape="rect" href="activemq-cpp-311-release.html" title="ActiveMQ-CPP 3.1.1 Release">ActiveMQ-CPP 3.1.1 Release</a></li><li><a shape="rect" href="activemq-cpp-310-release.html" title="ActiveMQ-CPP 3.1.0 Release">ActiveMQ-CPP 3.1.0 Release</a></li><li><a shape="rect" href="activemq-cpp-301-release.html" title="ActiveMQ-CPP 3.0.1 Release">ActiveMQ-CPP 3.0.1 Release</a></li><li><a shape="rect" href="activemq-cpp-30-release.html" title="ActiveMQ-CPP 3.0 Release">ActiveMQ-CPP 3.0 Release</a></li><li><a shape="rect" href="activemq-cpp-226-release.html" title="ActiveM
 Q-CPP 2.2.6 Release">ActiveMQ-CPP 2.2.6 Release</a></li><li><a shape="rect" href="activemq-cpp-225-release.html" title="ActiveMQ-CPP 2.2.5 Release">ActiveMQ-CPP 2.2.5 Release</a></li><li><a shape="rect" href="activemq-cpp-224-release.html" title="ActiveMQ-CPP 2.2.4 Release">ActiveMQ-CPP 2.2.4 Release</a></li><li><a shape="rect" href="activemq-cpp-223-release.html" title="ActiveMQ-CPP 2.2.3 Release">ActiveMQ-CPP 2.2.3 Release</a></li><li><a shape="rect" href="activemq-cpp-222-release.html" title="ActiveMQ-CPP 2.2.2 Release">ActiveMQ-CPP 2.2.2 Release</a></li><li><a shape="rect" href="activemq-cpp-221-release.html" title="ActiveMQ-CPP 2.2.1 Release">ActiveMQ-CPP 2.2.1 Release</a></li><li><a shape="rect" href="activemq-cpp-22-release.html" title="ActiveMQ CPP 2.2 Release">ActiveMQ CPP 2.2 Release</a></li><li><a shape="rect" href="activemq-cpp-213-release.html" title="ActiveMQ-CPP 2.1.3 Release">ActiveMQ-CPP 2.1.3 Release</a></li><li><a shape="rect" href="activemq-cpp-libtool-and-packag
 ing-notes.html" title="ActiveMQ-CPP, libtool and packaging notes">ActiveMQ-CPP, libtool and packaging notes</a></li><li><a shape="rect" href="activemq-cpp-212-release.html" title="ActiveMQ-CPP 2.1.2 Release">ActiveMQ-CPP 2.1.2 Release</a></li><li><a shape="rect" href="activemq-cpp-211-release.html" title="ActiveMQ-CPP 2.1.1 Release">ActiveMQ-CPP 2.1.1 Release</a></li><li><a shape="rect" href="cms-api-12-release.html" title="CMS API 1.2 Release">CMS API 1.2 Release</a></li><li><a shape="rect" href="activemq-cpp-21-release.html" title="ActiveMQ-CPP 2.1 Release">ActiveMQ-CPP 2.1 Release</a></li><li><a shape="rect" href="cms-api-11-release.html" title="CMS API 1.1 Release">CMS API 1.1 Release</a></li><li><a shape="rect" href="activemq-cpp-201-release.html" title="ActiveMQ-CPP 2.0.1 Release">ActiveMQ-CPP 2.0.1 Release</a></li><li><a shape="rect" href="cms-api-10-release.html" title="CMS API 1.0 Release">CMS API 1.0 Release</a></li><li><a shape="rect" href="activemq-cpp-20-release.html" t
 itle="ActiveMQ-CPP 2.0 Release">ActiveMQ-CPP 2.0 Release</a></li><li><a shape="rect" href="activemq-cpp-11-release.html" title="ActiveMQ-CPP 1.1 Release">ActiveMQ-CPP 1.1 Release</a></li><li><a shape="rect" href="activemq-cpp-10-release.html" title="ActiveMQ-CPP 1.0 Release">ActiveMQ-CPP 1.0 Release</a></li></ul>
           </div>
         </td>
         <td valign="top">
@@ -104,8 +106,8 @@
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/enable-openssl-support-with-autotools.html
==============================================================================
--- websites/production/activemq/content/cms/enable-openssl-support-with-autotools.html (original)
+++ websites/production/activemq/content/cms/enable-openssl-support-with-autotools.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -101,8 +101,8 @@
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/errors-from-libstdla-on-solaris-10-using-the-gnu-compiler.html
==============================================================================
--- websites/production/activemq/content/cms/errors-from-libstdla-on-solaris-10-using-the-gnu-compiler.html (original)
+++ websites/production/activemq/content/cms/errors-from-libstdla-on-solaris-10-using-the-gnu-compiler.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -182,8 +182,8 @@ libdir='/usr/sfw/lib/64'
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">

Modified: websites/production/activemq/content/cms/errors-saying-no-rule-to-make-target.html
==============================================================================
--- websites/production/activemq/content/cms/errors-saying-no-rule-to-make-target.html (original)
+++ websites/production/activemq/content/cms/errors-saying-no-rule-to-make-target.html Mon Jul  8 14:21:28 2013
@@ -50,8 +50,8 @@
       <div>
 
 <!-- Banner -->
-
-	<div id="asf_logo">
+<p>
+	</p><div id="asf_logo">
 	<div id="activemq_logo">
             <a shape="rect" style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="http://activemq.apache.org/">ActiveMQ</a>
             <a shape="rect" style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org">ASF</a>
@@ -96,8 +96,8 @@
 
 <h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
 
-
-<div>
+<p>
+</p><div>
 <form enctype="application/x-www-form-urlencoded" method="get" action="http://www.google.com/search" style="font-size: 10px;">
 <input type="hidden" name="ie" value="UTF-8">
 <input type="hidden" name="oe" value="UTF-8">