diff options
Diffstat (limited to 'qpid/doc/book/src/java/broker/configuration/Topic-Configuration.xml')
-rw-r--r-- | qpid/doc/book/src/java/broker/configuration/Topic-Configuration.xml | 107 |
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> + <topic> + <name>stocks.us</name> + </programlisting> + <programlisting> + <topic> + <subscriptionName>clientid:mysubscription</subscriptionName> + </programlisting> + + It is also possible to combine these two identifiers to specify a unique subscription to + a given topic. + + <programlisting> + <topic> + <name>stocks.us</name> + <subscriptionName>clientid:mysubscription</subscriptionName> + </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> + <slow-consumer-detection> + <!-- The maximum depth before which the policy will be applied--> + <depth>4235264</depth> + + <!-- The maximum message age before which the policy will be applied--> + <messageAge>600000</messageAge> + + <!-- The maximum number of message before which the policy will be applied--> + <messageCount>50</messageCount> + + <!-- Policy Selection --> + <policy name="TopicDelete"/> + </slow-consumer-detection> + </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> + <topics> + <topic> + <name>stocks.us</name> + ... + </topic> + <topic> + <name>stocks.*</name> + ... + </topic> + </topics> + </programlisting> + <para> A subscription for 'stocks.us' will only receive configuration settings that are + defined in the 'stocks.us' section. </para> + </section> + +</section> |