Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/mqtt-manual.html
==============================================================================
---
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/mqtt-manual.html
(original)
+++
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/mqtt-manual.html
Wed Apr 3 14:29:19 2013
@@ -89,17 +89,11 @@ as an MQTT connection. You don't have to
all be auto-detected). To force specific protocols over a certain connector
there are two ways you can do this.
You can choose to not use protocol detection at all and set the connector to
be specifically for mqtt:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613"
protocol="mqtt"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span> <span
class="na">protocol=</span><span class="s">"mqtt"</span><span
class="nt">/></span>
</pre></div>
</div>
<p>Alternatively, you can limit which protocols can be “detected”
using the <code><detect></code> configuration element like this:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613">
- <detect protocols="mqtt openwire" />
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">></span>
 <span class="nt"><detect</span> <span
class="na">protocols=</span><span class="s">"mqtt openwire"</span>
<span class="nt">/></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<p>The <code>protocols</code> attribute in the <code><detect></code>
element takes space delimited protoco values.
The <code>protocol</code> attribtue of the <code><connector></code>
element takes a single protocol, not space delimited. It defaults to
@@ -108,11 +102,7 @@ The <code>protocol</code> attribtue of t
<p>If you wish to tune the MQTT defaults, you can use the <code>mqtt</code>
configuration element within the <code>connector</code> element
in the <code>apollo.xml</code> configuration file :</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613">
- <mqtt max_message_length="1000" />
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">></span>
 <span class="nt"><mqtt</span> <span
class="na">max_message_length=</span><span class="s">"1000"</span>
<span class="nt">/></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<p>The <code>mqtt</code> element supports the following configuration
attributes:</p>
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/openwire-manual.html
==============================================================================
---
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/openwire-manual.html
(original)
+++
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/openwire-manual.html
Wed Apr 3 14:29:19 2013
@@ -84,11 +84,7 @@ to the broker, the protocol version that
in the <code>apollo.xml</code> configuration file to change the default
settings used
in the OpenWire protocol implementation.</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613">
- <openwire attribute="value"/>
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">></span>
 <span class="nt"><openwire</span> <span
class="na">attribute=</span><span class="s">"value"</span><span
class="nt">/></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<p>The <code>openwire</code> element supports the following configuration
attributes:</p>
@@ -113,11 +109,7 @@ and actually closing it. Default is <cod
<p>An example of configuring the OpenWire protocol</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613">
- <openwire tight_encoding="false"
tcp_no_delay="true"/>
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">></span>
 <span class="nt"><openwire</span> <span
class="na">tight_encoding=</span><span class="s">"false"</span> <span
class="na">tcp_no_delay=</span><span class="s">"true"</span><span
class="nt">/></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<h3 id =
"Protocol_Detection__different_that_open-wire_vesion_detection_">Protocol
Detection (different that open-wire vesion detection)</h3>
@@ -128,17 +120,11 @@ the broker, and means you only need to o
If you would like to specify a certain connector for OpenWire and another
connector for a different protocol, you can
explicitly configure the connector to be an OpenWire connector:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector protocol="openwire" ... />
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">protocol=</span><span
class="s">"openwire"</span> <span class="err">...</span> <span
class="nt">/></span>
</pre></div>
</div>
<p>You can also support a limited subset of protocols:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector bind="...">
- <detect protocols="openwire stomp" />
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">bind=</span><span
class="s">"..."</span><span class="nt">></span>
 <span
class="nt"><detect</span> <span class="na">protocols=</span><span
class="s">"openwire stomp"</span> <span
class="nt">/></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<p>Or you can leave it open to any of the supported protocols (default), and
the correct protocol will be used depending
on what the client is using. You do this by not specifying any protocol
settings.</p>
@@ -260,16 +246,7 @@ a value of “me”, pass a sele
<p>Here's an example of producing the message:</p>
-<div class="syntax"><pre name='code' class='brush: java; gutter: false;'><code>
-MessageProducer producer = session.createProducer(destination);
-
-for (int i = 0; i < NUM_MESSAGES_TO_SEND; i++) {
- TextMessage message = session.createTextMessage("Message #" + i);
- LOG.info("Sending message #" + i);
- producer.send(message);
- Thread.sleep(DELAY);
-}
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="n">MessageProducer</span> <span class="n">producer</span> <span
class="o">=</span> <span class="n">session</span><span class="o">.</span><span
class="na">createProducer</span><span class="o">(</span><span
class="n">destination</span><span class="o">);</span>

<span
class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span
class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span
class="o">;</span> <span class="n">i</span> <span class="o"><</span> <span
class="n">NUM_MESSAGES_TO_SEND</span><span class="o">;</span> <span
class="n">i</span><span class="o">++)</span> <span class="o">{</span>

<span class="n">TextMessage</span> <span class="n">message</span> <span
class="o">=</span> <span class="n">session</span><span class="o">.</span><span
class="na">createTextMessage</span><span class="o">(</span><span
class="s">"Message #"</span> <span class=
"o">+</span> <span class="n">i</span><span class="o">);</span>

<span class="n">LOG</span><span class="o">.</span><span
class="na">info</span><span class="o">(</span><span class="s">"Sending
message #"</span> <span class="o">+</span> <span class="n">i</span><span
class="o">);</span>
 <span class="n">producer</span><span
class="o">.</span><span class="na">send</span><span class="o">(</span><span
class="n">message</span><span class="o">);</span>
 <span
class="n">Thread</span><span class="o">.</span><span
class="na">sleep</span><span class="o">(</span><span
class="n">DELAY</span><span class="o">);</span>
<span
class="o">}</span>
</pre></div>
</div>
<h4 id = "Browing_Subscription">Browing Subscription</h4>
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/performance-scaling.html
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/schema/apollo.xsd
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/stomp-manual.html
==============================================================================
---
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/stomp-manual.html
(original)
+++
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/stomp-manual.html
Wed Apr 3 14:29:19 2013
@@ -147,13 +147,7 @@ principle kinds)</li>
<p>Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613">
- <stomp max_header_length="10000">
- <add_user_header separator=",">user</add_user_header>
- </stomp>
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">></span>
 <span class="nt"><stomp</span> <span
class="na">max_header_length=</span><span
class="s">"10000"</span><span class="nt">></span>
 <span
class="nt"><add_user_header</span> <span class="na">separator=</span><span
class="s">","</span><span class="nt">></span>user<span
class="nt"></add_user_header></span>
 <span
class="nt"></stomp></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<h3 id = "Client_Libraries">Client Libraries</h3>
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/user-manual.html
==============================================================================
---
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/user-manual.html
(original)
+++
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/user-manual.html
Wed Apr 3 14:29:19 2013
@@ -189,18 +189,7 @@ configure it to use this <a href="schema
<p>The simplest valid <code>apollo.xml</code> defines a single virtual host
and a
single connector.</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
s
-<broker
xmlns="http://activemq.apache.org/schema/activemq/apollo">
-
- <virtual_host id="default">
- <host_name>localhost</host_name>
- <null_store/>
- </virtual_host>
-
- <connector id="tcp" bind="tcp://0.0.0.0:61613"/>
-
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre>
s
<span class="nt"><broker</span> <span class="na">xmlns=</span><span
class="s">"http://activemq.apache.org/schema/activemq/apollo"</span><span
class="nt">></span>

 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"default"</span><span class="nt">></span>

<span class="nt"><host_name></span>localhost<span
class="nt"></host_name></span>
 <span
class="nt"><null_store/></span>
 <span
class="nt"></virtual_host></span>

 <span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">/></span>
 
<span
class="nt"></broker></span>
</pre></div>
</div>
<p>The broker, virtual host, and connector are assigned an id which which
is used to by the REST based administration console to identify
@@ -216,12 +205,7 @@ it finds problems. You would want to th
if any issues are found with the schema validation you should set
the <code>broker</code> element's <code>validation</code> attribute to
<code>strict</code>. Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<broker validation="strict"
- xmlns="http://activemq.apache.org/schema/activemq/apollo">
- ...
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><broker</span> <span class="na">validation=</span><span
class="s">"strict"</span> 
 <span
class="na">xmlns=</span><span
class="s">"http://activemq.apache.org/schema/activemq/apollo"</span><span
class="nt">></span>
 ...
<span
class="nt"></broker></span>
</pre></div>
</div>
<p>If you would like the broker to automatically trigger a Java
heap garbage collection (GC) cycle periodically, add a <code>auto_gc</code>
@@ -235,13 +219,7 @@ forced GC cycles. If interval is not se
<p>Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<broker>
- ...
- <auto_gc interval="10">
- ...
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><broker></span>
 ...
 <span
class="nt"><auto_gc</span> <span class="na">interval=</span><span
class="s">"10"</span><span class="nt">></span>

...
<span
class="nt"></broker></span>
</pre></div>
</div>
<h4 id = "Connectors">Connectors</h4>
@@ -276,11 +254,7 @@ configuration elements. For example, to
header of messages to the id of user that sent the message, you would
use the following configuration:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613">
- <stomp add_user_header="user_id"/>
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">></span>
 <span class="nt"><stomp</span> <span
class="na">add_user_header=</span><span
class="s">"user_id"</span><span class="nt">/></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<p>If your using the <code>any</code> protocol then actual protocol being used
will be
detected by examining the client's initial request. You can use the
@@ -297,11 +271,7 @@ the connection is closed.</li>
<p>Example of how to set the protocol detection timeout to 30 seconds:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp" bind="tcp://0.0.0.0:61613">
- <detect timeout="30000"/>
-</connector>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">></span>
 <span class="nt"><detect</span> <span
class="na">timeout=</span><span class="s">"30000"</span><span
class="nt">/></span>
<span
class="nt"></connector></span>
</pre></div>
</div>
<h5 id = "TCP_Transports">TCP Transports</h5>
@@ -338,11 +308,9 @@ buffer (aka setting the socket's SO_RCVB
<p>Example which uses a couple of options:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="tcp"
bind="tcp://0.0.0.0:61613?receive_buffer_size=1024&amp;max_read_rate=65536"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613?receive_buffer_size=1024&amp;max_read_rate=65536"</span><span
class="nt">/></span>
</pre></div>
</div>
-<p>Note that <div class="syntax"><pre name='code' class='brush: xml; gutter:
false;'><code>&amp;</code></pre></div>
+<p>Note that <div class="syntax"><div class="highlight"><pre><span
class="ni">&amp;</span>
</pre></div>
</div>
was used to separate the option values instead of just <code>&</code>
since the
URI is within an XML file. In the URI string, we specify what the buffer sizes
should be when the socket is created, but their values can change if
auto-tuning is enabled.</p>
@@ -379,9 +347,7 @@ not all browsers support binary WebSocke
<p>Example configuraiton:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="ws"
bind="ws://0.0.0.0:61623?binary_transfers=false"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"ws"</span> <span class="na">bind=</span><span
class="s">"ws://0.0.0.0:61623?binary_transfers=false"</span><span
class="nt">/></span>
</pre></div>
</div>
<p>One thing worth noting is that web sockets (just as Ajax) implements the
same
origin policy, so by default you can access only brokers running on the same
host as
@@ -392,9 +358,7 @@ by different hosts then your should add
a common seperated list of domains that are allowed to access the WebSocket
connector. Use <code>*</code> to allow access from any domain. Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="ws"
bind="ws://0.0.0.0:61623?cors_origin=*"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"ws"</span> <span class="na">bind=</span><span
class="s">"ws://0.0.0.0:61623?cors_origin=*"</span><span
class="nt">/></span>
</pre></div>
</div>
<h6 id = "WebSocket_Clients">WebSocket Clients</h6>
@@ -426,9 +390,7 @@ handler. That is done by setting the <c
<p>Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<connector id="udp" bind="udp://0.0.0.0:61615"
protocol="udp"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"udp"</span> <span class="na">bind=</span><span
class="s">"udp://0.0.0.0:61615"</span> <span
class="na">protocol=</span><span class="s">"udp"</span><span
class="nt">/></span>
</pre></div>
</div>
<p>The supported protocols that can be used with the udp transport are:</p>
@@ -581,15 +543,7 @@ Defaults to 'block' if not specified.</p
<p>Example configuraiton:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-...
- <virtual_host id="default">
- ...
- <queue id="app1.**" dlq="dlq.*"
nak_limit="3" auto_delete_after="0"/>
- ...
- </virtual_host>
-...
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre>...
 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"default"</span><span class="nt">></span>

...
 <span class="nt"><queue</span> <span
class="na">id=</span><span class="s">"app1.**"</span> <span
class="na">dlq=</span><span class="s">"dlq.*"</span> <span
class="na">nak_limit=</span><span class="s">"3"</span> <span
class="na">auto_delete_after=</span><span class="s">"0"</span><span
class="nt">/></span>
 ...
 <span
class="nt"></virtual_host></span>
...
</pre></div>
</div>
<h5 id = "Topics">Topics</h5>
@@ -627,17 +581,7 @@ attributes of the <code>queue</code> ele
<code>swap_range_size</code>, <code>quota</code>, <code>full_policy</code>,
<code>fast_delivery_rate</code>,
<code>catchup_enqueue_rate</code>, <code>max_enqueue_rate</code>,
<code>dlq</code>, <code>nak_limit</code>. Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-...
- <virtual_host id="default">
- ...
- <topic id="example" slow_consumer_policy="queue">
- <subscription tail_buffer="4k"/>
- </topic>
- ...
- </virtual_host>
-...
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre>...
 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"default"</span><span class="nt">></span>

...
 <span class="nt"><topic</span> <span
class="na">id=</span><span class="s">"example"</span> <span
class="na">slow_consumer_policy=</span><span
class="s">"queue"</span><span class="nt">></span>

<span class="nt"><subscription</span> <span
class="na">tail_buffer=</span><span class="s">"4k"</span><span
class="nt">/></span>
 <span
class="nt"></topic></span>
 ...
 <span
class="nt"></virtual_host></span>
...
</pre></div>
</div>
<h5 id = "Durable_Subscriptions">Durable Subscriptions</h5>
@@ -713,15 +657,7 @@ will use.</p>
<p>It is enabled when your <code>virtual_host</code> element contains a
<code>leveldb_store</code> element.</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
- ...
- <virtual_host id="default">
- ...
- <leveldb_store directory="${apollo.base}/data"/>
- ..
- </virtual_host>
- ...
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre> ...
 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"default"</span><span class="nt">></span>

...
 <span class="nt"><leveldb_store</span> <span
class="na">directory=</span><span
class="s">"${apollo.base}/data"</span><span
class="nt">/></span>
 ..
 <span
class="nt"></virtual_host></span>

...
</pre></div>
</div>
<p>A <code>leveldb_store</code> element may be configured with the following
attributes:</p>
@@ -795,15 +731,7 @@ and then copy it into the <code>${APOLLO
<p>Once that is done, you can enable the store by adding a
<code>bdb_store</code> element
inside your <code>virtual_host</code>. Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
- ...
- <virtual_host id="default">
- ...
- <bdb_store directory="${apollo.base}/data"/>
- ..
- </virtual_host>
- ...
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre> ...
 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"default"</span><span class="nt">></span>

...
 <span class="nt"><bdb_store</span> <span
class="na">directory=</span><span
class="s">"${apollo.base}/data"</span><span
class="nt">/></span>
 ..
 <span
class="nt"></virtual_host></span>

...
</pre></div>
</div>
<p>A <code>bdb_store</code> element may be configured with the following
attributes:</p>
@@ -832,16 +760,7 @@ the encryption keys and certificates are
<p>Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
- ...
- <key_storage
- file="${apollo.base}/etc/keystore"
- password="password"
- key_password="password"/>
-
- <connector id="stomp-secure"
bind="ssl://0.0.0.0:61614"/>
- ...
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre> ...
 <span
class="nt"><key_storage</span> 
 <span
class="na">file=</span><span
class="s">"${apollo.base}/etc/keystore"</span> 
 <span
class="na">password=</span><span class="s">"password"</span> 

<span class="na">key_password=</span><span
class="s">"password"</span><span class="nt">/></span>


 <span class="nt"><connector</span> <span
class="na">id=</span><span class="s">"stomp-secure"</span> <span
class="na">bind=</span><span
class="s">"ssl://0.0.0.0:61614"</span><span
class="nt">/></span>
 ...
</pre></div>
</div>
<p>The <code>connector</code> element's <code>bind</code> attribute controls
which secure transport
algorithm gets used by the sever. Supported values are:</p>
@@ -897,27 +816,7 @@ any virtual hosts which did not define a
want to disable authentication in a virtual host, you set the
<code>enable</code> attribute
to <code>false</code>.</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<broker
xmlns="http://activemq.apache.org/schema/activemq/apollo">
- <authentication domain="internal"/>
-
- <virtual_host id="wine.com">
- <authentication domain="external"/>
- <host_name>wine.com</host_name>
- </virtual_host>
-
- <virtual_host id="internal.wine.com">
- <host_name>internal.wine.com</host_name>
- </virtual_host>
-
- <virtual_host id="test">
- <authentication enabled="false"/>
- <host_name>cheeze.com</host_name>
- </virtual_host>
-
- <connector id="tcp" bind="tcp://0.0.0.0:61613"/>
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><broker</span> <span class="na">xmlns=</span><span
class="s">"http://activemq.apache.org/schema/activemq/apollo"</span><span
class="nt">></span>
 <span class="nt"><authentication</span>
<span class="na">domain=</span><span class="s">"internal"</span><span
class="nt">/></span>
 
 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"wine.com"</span><span class="nt">></span>

<span class="nt"><authentication</span> <span class="na">domain=</span><span
class="s">"external"</span><span class="nt">/></span>

<span class="nt"><host_name></span>wine.com<span
class="nt"></host_name></span>
 <span
class="nt"></virtual_host></span>

 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"internal.wine.com"</
span><span class="nt">></span>
 <span
class="nt"><host_name></span>internal.wine.com<span
class="nt"></host_name></span>
 <span
class="nt"></virtual_host></span>

 <span
class="nt"><virtual_host</span> <span class="na">id=</span><span
class="s">"test"</span><span class="nt">></span>
 <span
class="nt"><authentication</span> <span class="na">enabled=</span><span
class="s">"false"</span><span class="nt">/></span>

<span class="nt"><host_name></span>cheeze.com<span
class="nt"></host_name></span>
 <span
class="nt"></virtual_host></span>

 <span
class="nt"><connector</span> <span class="na">id=</span><span
class="s">"tcp"</span> <span class="na">bind=</span><span
class="s">"tcp://0.0.0.0:61613"</span><span
class="nt">/></span>
<span
class="nt"></broker></span>
</pre></div>
</div>
<p>The above example uses 2 JAAS domains, <code>internal</code> and
<code>external</code>. Broker
The <code>wine.com</code> host will use the external domain, the
<code>internal.wine.com</code>
@@ -953,17 +852,7 @@ kinds listed here.</p>
<p>Example of customizing the principal kinds used:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
- ...
- <authentication domain="apollo">
-
<user_principal_kind>com.sun.security.auth.UnixPrincipal</user_principal_kind>
-
<user_principal_kind>com.sun.security.auth.LdapPrincipal</user_principal_kind>
-
<acl_principal_kind>com.sun.security.auth.UnixPrincipal</acl_principal_kind>
-
<acl_principal_kind>com.sun.security.auth.LdapPrincipal</acl_principal_kind>
- </authentication>
- ...
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre> ...
 <span
class="nt"><authentication</span> <span class="na">domain=</span><span
class="s">"apollo"</span><span class="nt">></span>

<span
class="nt"><user_principal_kind></span>com.sun.security.auth.UnixPrincipal<span
class="nt"></user_principal_kind></span>
 <span
class="nt"><user_principal_kind></span>com.sun.security.auth.LdapPrincipal<span
class="nt"></user_principal_kind></span>
 <span
class="nt"><acl_principal_kind></span>com.sun.security.auth.UnixPrincipal<span
class="nt"></acl_principal_kind></span>
 <span
class="nt"><acl_principal_kind></span>com.sun.security.auth.LdapPrincipal<span
class="nt"></acl_principal_kind></span>
 <span
class="nt"></authentication></span>
 ...
<span
class="nt"></broker></span>
</pre></div>
</div>
<h4 id = "Authorization">Authorization</h4>
@@ -973,13 +862,7 @@ access control rules using a <code>acces
denied access to perform actions against server resources. An example list of
rule is shown below:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<broker>
- <access_rule deny="guest" action="send"/>
- <access_rule allow="*" action="send"/>
- <access_rule allow="app1" action="receive"/>
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><broker></span>
 <span
class="nt"><access_rule</span> <span class="na">deny=</span><span
class="s">"guest"</span> <span class="na">action=</span><span
class="s">"send"</span><span class="nt">/></span>
 <span
class="nt"><access_rule</span> <span class="na">allow=</span><span
class="s">"*"</span> <span class="na">action=</span><span
class="s">"send"</span><span class="nt">/></span>
 <span
class="nt"><access_rule</span> <span class="na">allow=</span><span
class="s">"app1"</span> <span class="na">action=</span><span
class="s">"receive"</span><span class="nt">/></span>
<span
class="nt"></broker></span>
</pre></div>
</div>
<p>The <code>allow</code> and <code>deny</code> attributes define the
principals which are allowed or
denied access. If set to “+" then it matches all principals but requires
at
@@ -1022,27 +905,19 @@ matches determines if he will have acces
groups 'blue' and 'red', and you are matching against the following
rules:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<access_rule deny="blue" action="send"/>
-<access_rule allow="red" action="send"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><access_rule</span> <span class="na">deny=</span><span
class="s">"blue"</span> <span class="na">action=</span><span
class="s">"send"</span><span class="nt">/></span>
<span
class="nt"><access_rule</span> <span class="na">allow=</span><span
class="s">"red"</span> <span class="na">action=</span><span
class="s">"send"</span><span
class="nt">/></span>
</pre></div>
</div>
<p>Then the user would not be allowed to send since the deny rule was
matched first. If the order in the ACL list were reversed, like
so:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<access_rule allow="red" action="send"/>
-<access_rule deny="blue" action="send"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><access_rule</span> <span class="na">allow=</span><span
class="s">"red"</span> <span class="na">action=</span><span
class="s">"send"</span><span class="nt">/></span>
<span
class="nt"><access_rule</span> <span class="na">deny=</span><span
class="s">"blue"</span> <span class="na">action=</span><span
class="s">"send"</span><span
class="nt">/></span>
</pre></div>
</div>
<p>Then the user would be allowed access to the resource since the allow
rule matched first. When a single rule defines both <code>allow</code> and
<code>deny</code> attributes and they both match then the action is denied.</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<access_rule deny="blue" allow="red"
action="send"/>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><access_rule</span> <span class="na">deny=</span><span
class="s">"blue"</span> <span class="na">allow=</span><span
class="s">"red"</span> <span class="na">action=</span><span
class="s">"send"</span><span
class="nt">/></span>
</pre></div>
</div>
<h4 id = "Resource_Actions">Resource Actions</h4>
@@ -1085,14 +960,7 @@ using the <code>apollo encrypt</code> co
<p>Lets say you your current <code>key_storage</code> contains plain text
passwords that
need to be replaced with encrypted versions:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
- ...
- <key_storage
- file="${apollo.base}/etc/keystore"
- password="open"
- key_password="sesame"/>
- ...
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre> ...
 <span
class="nt"><key_storage</span> 
 <span
class="na">file=</span><span
class="s">"${apollo.base}/etc/keystore"</span> 
 <span
class="na">password=</span><span class="s">"open"</span> 

<span class="na">key_password=</span><span
class="s">"sesame"</span><span class="nt">/></span>

...
</pre></div>
</div>
<p>Lets first find out what the encrypted versions of the passwords would be.
Apollo encrypts and decrypts values using the password stored in
@@ -1116,14 +984,7 @@ key.pass=ENC(FP+H2FIg++sSaOxg/ISknw==)</
<p>Finally the last step of securing the configuration is to replace the plain
text passwords with variable references to the corresponding property
names:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
- ...
- <key_storage
- file="${apollo.base}/etc/keystore"
- password="${store.pass}"
- key_password="${key.pass}"/>
- ...
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre> ...
 <span
class="nt"><key_storage</span> 
 <span
class="na">file=</span><span
class="s">"${apollo.base}/etc/keystore"</span> 
 <span
class="na">password=</span><span class="s">"${store.pass}"</span>

 <span class="na">key_password=</span><span
class="s">"${key.pass}"</span><span class="nt">/></span>

...
</pre></div>
</div>
<p>When you use encrypted passwords in your configuration, you MUST make
sure that the <code>APOLLO_ENCRYPTION_PASSWORD</code> environment variable is
set
@@ -1149,14 +1010,7 @@ it bind either the <code>0.0.0.0</code>
<p>For example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<broker
xmlns="http://activemq.apache.org/schema/activemq/apollo">
- ...
- <web_admin bind="http://0.0.0.0:61680"/>
- <web_admin bind="https://0.0.0.0:61681"/>
- ...
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><broker</span> <span class="na">xmlns=</span><span
class="s">"http://activemq.apache.org/schema/activemq/apollo"</span><span
class="nt">></span>
 ...
 <span
class="nt"><web_admin</span> <span class="na">bind=</span><span
class="s">"http://0.0.0.0:61680"</span><span
class="nt">/></span>
 <span class="nt"><web_admin</span> <span
class="na">bind=</span><span
class="s">"https://0.0.0.0:61681"</span><span
class="nt">/></span>
 ...
<span
class="nt"></broker></span>
</pre></div>
</div>
<p>A <code>web_admin</code> element may be configured with the following
attributes:</p>
@@ -1169,14 +1023,7 @@ then your should add <code>cors_origin</
a common seperated list of domains that are allowed to access the web
admin APIs. Use <code>*</code> to allow access from any domain. Example:</p>
-<div class="syntax"><pre name='code' class='brush: xml; gutter: false;'><code>
-<broker
xmlns="http://activemq.apache.org/schema/activemq/apollo">
- ...
- <web_admin bind="http://0.0.0.0:61680?cors_origin=*"/>
- <web_admin
bind="https://0.0.0.0:61681?cors_origin=www.foo.com,bar.com"/>
- ...
-</broker>
-</code></pre></div>
+<div class="syntax"><div class="highlight"><pre><span
class="nt"><broker</span> <span class="na">xmlns=</span><span
class="s">"http://activemq.apache.org/schema/activemq/apollo"</span><span
class="nt">></span>
 ...
 <span
class="nt"><web_admin</span> <span class="na">bind=</span><span
class="s">"http://0.0.0.0:61680?cors_origin=*"</span><span
class="nt">/></span>
 <span class="nt"><web_admin</span> <span
class="na">bind=</span><span
class="s">"https://0.0.0.0:61681?cors_origin=www.foo.com,bar.com"</span><span
class="nt">/></span>
 ...
<span
class="nt"></broker></span>
</pre></div>
</div>
<h2 id = "Managing_Brokers">Managing Brokers</h2>
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/verification.html
==============================================================================
---
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/verification.html
(original)
+++
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/documentation/verification.html
Wed Apr 3 14:29:19 2013
@@ -52,17 +52,11 @@ broker is operating correctly.</p>
<p>Change to the <code>examples/stomp/ruby</code> directory that was included
in the Apollo
distribution. Then in a terminal window, run:</p>
-<div class="compare"><div class="compare-left"><h3>Unix/Linux/OS X</h3><div
class="syntax"><pre name='code' class='brush: text; gutter: false;'><code>cd
${APOLLO_HOME}/examples/stomp/ruby
-ruby listener.rb</code></pre></div></div><div
class="compare-right"><h3>Windows</h3><div class="syntax"><pre name='code'
class='brush: text; gutter: false;'><code>cd %APOLLO_HOME%\examples\stomp\ruby
-ruby listener.rb
-</code></pre></div></div><br class="clear"/></div>
+<div class="compare"><div class="compare-left"><h3>Unix/Linux/OS X</h3><div
class="syntax"><div class="highlight"><pre>cd
${APOLLO_HOME}/examples/stomp/ruby
ruby
listener.rb
</pre></div>
</div></div><div
class="compare-right"><h3>Windows</h3><div class="syntax"><div
class="highlight"><pre>cd %APOLLO_HOME%\examples\stomp\ruby
ruby
listener.rb
</pre></div>
</div></div><br class="clear"/></div>
<p>Then in a separate terminal window, run:</p>
-<div class="compare"><div class="compare-left"><h3>Unix/Linux/OS X</h3><div
class="syntax"><pre name='code' class='brush: text; gutter: false;'><code>cd
${APOLLO_HOME}/examples/stomp/ruby
-ruby publisher.rb</code></pre></div></div><div
class="compare-right"><h3>Windows</h3><div class="syntax"><pre name='code'
class='brush: text; gutter: false;'><code>cd %APOLLO_HOME%\examples\stomp\ruby
-ruby publisher.rb
-</code></pre></div></div><br class="clear"/></div>
+<div class="compare"><div class="compare-left"><h3>Unix/Linux/OS X</h3><div
class="syntax"><div class="highlight"><pre>cd
${APOLLO_HOME}/examples/stomp/ruby
ruby
publisher.rb
</pre></div>
</div></div><div
class="compare-right"><h3>Windows</h3><div class="syntax"><div
class="highlight"><pre>cd %APOLLO_HOME%\examples\stomp\ruby
ruby
publisher.rb
</pre></div>
</div></div><br class="clear"/></div>
<p>If everything is working well, the publisher should produce output similar
to:</p>
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/download.html
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/images/module-deps-graph.png
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/images/project-logo-vector.png
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/images/project-logo.png
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/images/rss.gif
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/index.html
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/privacy-policy.html
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/scripts/jquery.js
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/styles/impact/blog.template
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/styles/impact/css/pygmentize.css
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/styles/impact/css/site.css
==============================================================================
(empty)
Modified:
websites/production/activemq/content/apollo/versions/99-trunk-SNAPSHOT/website/versions/index.html
==============================================================================
(empty)