blob: f22e12a8895e176e3a3b03d327726d90b4196b28 [file] [log] [blame]
<!DOCTYPE html>
<!--
-
- 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.
-
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Chapter&#160;7.&#160;Managing Entities - Apache Qpid&#8482;</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
<link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
<script type="text/javascript">var _deferredFunctions = [];</script>
<script type="text/javascript" src="/deferred.js" defer="defer"></script>
<!--[if lte IE 8]>
<link rel="stylesheet" href="/ie.css" type="text/css"/>
<script type="text/javascript" src="/html5shiv.js"></script>
<![endif]-->
<!-- Redirects for `go get` and godoc.org -->
<meta name="go-import"
content="qpid.apache.org git https://gitbox.apache.org/repos/asf/qpid-proton.git"/>
<meta name="go-source"
content="qpid.apache.org
https://github.com/apache/qpid-proton/blob/go1/README.md
https://github.com/apache/qpid-proton/tree/go1{/dir}
https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
</head>
<body>
<div id="-content">
<div id="-top" class="panel">
<a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
<a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>
<ul id="-global-navigation">
<li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
<li><a href="/documentation.html">Documentation</a></li>
<li><a href="/download.html">Download</a></li>
<li><a href="/discussion.html">Discussion</a></li>
</ul>
</div>
<div id="-menu" class="panel" style="display: none;">
<div class="flex">
<section>
<h3>Project</h3>
<ul>
<li><a href="/overview.html">Overview</a></li>
<li><a href="/components/index.html">Components</a></li>
<li><a href="/releases/index.html">Releases</a></li>
</ul>
</section>
<section>
<h3>Messaging APIs</h3>
<ul>
<li><a href="/proton/index.html">Qpid Proton</a></li>
<li><a href="/components/jms/index.html">Qpid JMS</a></li>
<li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
</ul>
</section>
<section>
<h3>Servers and tools</h3>
<ul>
<li><a href="/components/broker-j/index.html">Broker-J</a></li>
<li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
<li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
</ul>
</section>
<section>
<h3>Resources</h3>
<ul>
<li><a href="/dashboard.html">Dashboard</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
<li><a href="/resources.html">More resources</a></li>
</ul>
</section>
</div>
</div>
<div id="-search" class="panel" style="display: none;">
<form action="http://www.google.com/search" method="get">
<input type="hidden" name="sitesearch" value="qpid.apache.org"/>
<input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
<button type="submit">Search</button>
<a href="/search.html">More ways to search</a>
</form>
</div>
<div id="-middle" class="panel">
<ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-broker-j-7.1.9/index.html">Qpid Broker-J 7.1.9</a></li><li><a href="/releases/qpid-broker-j-7.1.9/book/index.html">Apache Qpid Broker-J</a></li><li>Chapter&#160;7.&#160;Managing Entities</li></ul>
<div id="-middle-content">
<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&#160;7.&#160;Managing Entities</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Management-Channel-AMQP-Intrinstic.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Broker.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="Java-Broker-Management-Managing-Entities"></a>Chapter&#160;7.&#160;Managing Entities</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="Java-Broker-Management-Managing-Entities.html#Java-Broker-Management-Managing-Entities-General">7.1. General Description</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Broker.html">7.2. Broker</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Broker.html#Java-Broker-Management-Managing-Broker-Attributes">7.2.1. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Broker.html#Java-Broker-Management-Managing-Broker-Context">7.2.2. Context</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Broker.html#Java-Broker-Management-Managing-Broker-Children">7.2.3. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Broker.html#Java-Broker-Management-Managing-Broker-Lifecycle">7.2.4. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhost-Nodes.html">7.3. Virtualhost Nodes</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Types">7.3.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes">7.3.2. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Node-Children">7.3.3. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Node-Lifecycle">7.3.4. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhosts.html">7.4. VirtualHosts</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhosts-Types">7.4.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhost-Context">7.4.2. Context</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhost-Attributes">7.4.3. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhost-Children">7.4.4. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhost-Lifecycle">7.4.5. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-RemoteReplicationNodes.html">7.5. Remote Replication Nodes</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-RemoteReplicationNodes.html#Java-Broker-Management-Managing-RemoteReplicationNodes-Attributes">7.5.1. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-RemoteReplicationNodes.html#Java-Broker-Management-Managing-RemoteReplicationNodes-Children">7.5.2. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-RemoteReplicationNodes.html#Java-Broker-Management-Managing-RemoteReplicationNodes-Lifecycle">7.5.3. Lifecycle</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-RemoteReplicationNodes.html#Java-Broker-Management-Managing-RemoteReplication-Nodes-Operations">7.5.4. Operations</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Exchanges.html">7.6. Exchanges</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Exchanges.html#Java-Broker-Management-Managing-Exchanges-Types">7.6.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Exchanges.html#Java-Broker-Management-Managing-Exchanges-Attributes">7.6.2. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Exchanges.html#Java-Broker-Management-Managing-Exchanges-Lifecycle">7.6.3. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Queues.html">7.7. Queues</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Queues.html#Java-Broker-Management-Managing-Queues-Types">7.7.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Queues.html#Java-Broker-Management-Managing-Queues-Attributes">7.7.2. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Queues.html#Java-Broker-Management-Managing-Queue-Lifecycle">7.7.3. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Consumers.html">7.8. Consumers</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Consumers.html#Java-Broker-Management-Managing-Consumers-Context">7.8.1. Context</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Ports.html">7.9. Ports</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Ports.html#Java-Broker-Management-Managing-Ports-Context">7.9.1. Context</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Ports.html#Java-Broker-Management-Managing-Ports-Attributes">7.9.2. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Ports.html#Java-Broker-Management-Managing-Ports-Children">7.9.3. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Ports.html#Java-Broker-Management-Managing-Ports-Lifecycle">7.9.4. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Authentication-Providers.html">7.10. Authentication Providers</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Authentication-Providers.html#Java-Broker-Management-Managing-Authentication-Providers-Types">7.10.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Authentication-Providers.html#Java-Broker-Management-Managing-Authentication-Providers-Attributes">7.10.2. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Authentication-Providers.html#Java-Broker-Management-Managing-Authentication-Providers-Children">7.10.3. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Authentication-Providers.html#Java-Broker-Management-Managing-Authentication-Providers-Lifecycle">7.10.4. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Keystores.html">7.11. Keystores</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Keystores.html#Java-Broker-Management-Managing-Keystores-Types">7.11.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Keystores.html#Java-Broker-Management-Managing-Keystores-Attributes">7.11.2. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Keystores.html#Java-Broker-Management-Managing-Keystores-Children">7.11.3. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Keystores.html#Java-Broker-Management-Managing-Keystores-Lifecycle">7.11.4. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Truststores.html">7.12. Truststores</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Truststores.html#Java-Broker-Management-Managing-Truststores-Types">7.12.1. Types</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Truststores.html#Java-Broker-Management-Managing-Truststores-Attributes">7.12.2. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Truststores.html#Java-Broker-Management-Managing-Truststores-Children">7.12.3. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Truststores.html#Java-Broker-Management-Managing-Truststores-Lifecycle">7.12.4. Lifecycle</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-Management-Managing-Group-Providers.html">7.13. Group Providers</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Access-Control-Providers.html">7.14. Access Control Providers</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Plugin-HTTP.html">7.15. HTTP Plugin</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-Management-Managing-Plugin-HTTP.html#Java-Broker-Management-Managing-Plugin-HTTP-Attributes">7.15.1. Attributes</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Plugin-HTTP.html#Java-Broker-Management-Managing-Plugin-HTTP-Children">7.15.2. Children</a></span></dt><dt><span class="section"><a href="Java-Broker-Management-Managing-Plugin-HTTP.html#Java-Broker-Management-Managing-Plugin-HTTP-Lifecycle">7.15.3. Lifecycle</a></span></dt></dl></dd></dl></div><p>This section describes how to manage entities within the Broker. The principles underlying
entity management are the same regardless of entity type. For this reason, this section begins
with a general description that applies to all.</p><p>Since not all channels support the management of all entity type, this section commences
with a table showing which entity type is supported by each channel.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Management-Managing-Entities-General"></a>7.1.&#160;General Description</h2></div></div></div><p>The following description applies to all entities within the Broker regardless of their
type.</p><p>
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>All entities have a parent, and may have children. The parent of the Broker is
called the System Context. It has no parent.</p></li><li class="listitem"><p>Entities have one or more attributes. For example a <code class="literal">name</code>, an
<code class="literal">id</code> or a <code class="literal">maximumQueueDepth</code></p></li><li class="listitem"><p>Entities can be durable or non-durable. Durable entities survive a restart.
Non-durable entities will not.</p></li><li class="listitem"><p>Attributes may have a default value. If an attribute value is not specified the
default value is used.</p></li><li class="listitem"><p>Attributes values can be expressed as a simple value (e.g. <code class="literal">myName</code>
or <code class="literal">1234</code>), in terms of context variables
(e.g.<code class="literal">${foo}</code> or <code class="literal">/data/${foo}/</code>).</p></li><li class="listitem"><p>Each entity has zero or more context variables.</p></li><li class="listitem"><p>The System Context entity (the ultimate ancestor of all object) has a context too.
It is read only and is populated with all Java System Properties. Thus it can be
influenced from the Broker's external environment. See <a class="link" href="Java-Broker-Appendix-Environment-Variables.html#Java-Broker-Appendix-Environment-Variables-Qpid-Opts">QPID_OPTS </a>
environment variable.</p></li><li class="listitem"><p>When resolving an attribute's value, if the value contains a variable
(e.g.<code class="literal">${foo}</code>), the variable is first resolved using the entity's own
context variables. If the entity has no definition for the context variable, the
entity's parent is tried, then its grandparent and so forth, all the way until the
SystemContext is reached.</p></li><li class="listitem"><p>Some entities support state and have a lifecycle.</p></li></ul></div><p>
</p><p>What follows now is a section dedicated to each entity type. For each entity type key
features are described along with the entities key attributes, key context variables, details
of the entities lifecycle and any other operations.</p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Management-Channel-AMQP-Intrinstic.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-Management-Managing-Broker.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">6.5.&#160;AMQP Intrinstic Management&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;7.2.&#160;Broker</td></tr></table></div></div>
<hr/>
<ul id="-apache-navigation">
<li><a href="http://www.apache.org/">Apache</a></li>
<li><a href="http://www.apache.org/licenses/">License</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
<li><a href="/security.html">Security</a></li>
<li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
</ul>
<p id="-legal">
Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
The Apache Software Foundation; Licensed under
the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
Proton, Apache, the Apache feather logo, and the Apache Qpid
project logo are trademarks of The Apache Software
Foundation; All other marks mentioned may be trademarks or
registered trademarks of their respective owners
</p>
</div>
</div>
</div>
</body>
</html>