summaryrefslogtreecommitdiff
path: root/qpid/doc/book/src/java
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2011-05-27 15:44:23 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2011-05-27 15:44:23 +0000
commit66765100f4257159622cefe57bed50125a5ad017 (patch)
treea88ee23bb194eb91f0ebb2d9b23ff423e3ea8e37 /qpid/doc/book/src/java
parent1aeaa7b16e5ce54f10c901d75c4d40f9f88b9db6 (diff)
parent88b98b2f4152ef59a671fad55a0d08338b6b78ca (diff)
downloadqpid-python-rajith_jms_client.tar.gz
Creating a branch for experimenting with some ideas for JMS client.rajith_jms_client
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/rajith_jms_client@1128369 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/doc/book/src/java')
-rw-r--r--qpid/doc/book/src/java/broker/configuration/Topic-Configuration.xml107
1 files changed, 107 insertions, 0 deletions
diff --git a/qpid/doc/book/src/java/broker/configuration/Topic-Configuration.xml b/qpid/doc/book/src/java/broker/configuration/Topic-Configuration.xml
new file mode 100644
index 0000000000..1f73bbd7a4
--- /dev/null
+++ b/qpid/doc/book/src/java/broker/configuration/Topic-Configuration.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed 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://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
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<section>
+ <title>Topic Configuration on Java Broker</title>
+
+ <para>New in 0.8 is the ability to define configuration for topics. Currently this is limited to
+ configuration for slow consumer detection. This configuration is based on the work
+ designed on the <ulink
+ url="http://cwiki.apache.org/confluence/display/qpid/Topic+Configuration+Design">design
+ wiki</ulink>.</para>
+
+ <section id="Topic Identification">
+ <title>Topic Identification</title>
+ <para>A configuration section has two entries that can be used to identify how the
+ configuration will be applied: 'name' and 'subscriptionName'.
+
+ <programlisting>
+ &lt;topic&gt;
+ &lt;name&gt;stocks.us&lt;/name&gt;
+ </programlisting>
+ <programlisting>
+ &lt;topic&gt;
+ &lt;subscriptionName&gt;clientid:mysubscription&lt;/subscriptionName&gt;
+ </programlisting>
+
+ It is also possible to combine these two identifiers to specify a unique subscription to
+ a given topic.
+
+ <programlisting>
+ &lt;topic&gt;
+ &lt;name&gt;stocks.us&lt;/name&gt;
+ &lt;subscriptionName&gt;clientid:mysubscription&lt;/subscriptionName&gt;
+ </programlisting>
+ </para>
+ </section>
+
+ <section>
+ <title>Configuration Items</title>
+ <para> Currently only one element of the designed configuration is processed, that of the
+ slow consumer detection. This is setup as below using the 'slow-consumer-detection'
+ element. There are two required types of tag, first the trigger, which is one of
+ 'depth', 'messageAge' or 'messageCount' and secondly the 'policy'. </para>
+ <programlisting>
+ &lt;slow-consumer-detection&gt;
+ &lt;!-- The maximum depth before which the policy will be applied--&gt;
+ &lt;depth&gt;4235264&lt;/depth&gt;
+
+ &lt;!-- The maximum message age before which the policy will be applied--&gt;
+ &lt;messageAge&gt;600000&lt;/messageAge&gt;
+
+ &lt;!-- The maximum number of message before which the policy will be applied--&gt;
+ &lt;messageCount&gt;50&lt;/messageCount&gt;
+
+ &lt;!-- Policy Selection --&gt;
+ &lt;policy name="TopicDelete"/&gt;
+ &lt;/slow-consumer-detection&gt;
+ </programlisting>
+
+ <para> The trigger is used to determine when the policy should be applied. Currently we have
+ a simple policy 'topicdelete', this will disconnect consumers of topics where their
+ consumption rate falls sufficiently to hit one of the trigger values. </para>
+ </section>
+
+
+ <section id="Limitiations">
+ <title>Limitiations</title>
+ <para> As of 0.8 the topic configuration is limited to straight string matching. This means
+ that given the following two topic configuring sections for 'stocks.us' and 'stocks.*' a
+ subscription for 'stocks.uk' will not match the expected 'stocks.*'. Nor will any
+ additional configuration listed in 'stocks.*' affect any 'stocks.us' subscriptions. </para>
+ <programlisting>
+ &lt;topics&gt;
+ &lt;topic&gt;
+ &lt;name&gt;stocks.us&lt;/name&gt;
+ ...
+ &lt;/topic&gt;
+ &lt;topic&gt;
+ &lt;name&gt;stocks.*&lt;/name&gt;
+ ...
+ &lt;/topic&gt;
+ &lt;/topics&gt;
+ </programlisting>
+ <para> A subscription for 'stocks.us' will only receive configuration settings that are
+ defined in the 'stocks.us' section. </para>
+ </section>
+
+</section>