| <?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 id="Java-Broker-Concepts-Virtual-Hosts"> |
| <title>Virtual Hosts</title> |
| <para>A Broker has one or more <emphasis>Virtual Host</emphasis>s. Each <emphasis>Virtual Host</emphasis> |
| has an independant namespace for its collection of <emphasis>Exchanges</emphasis>, <emphasis>Queues</emphasis>, |
| and associated objects. Client <emphasis>Connection</emphasis>s are made a specific <emphasis>Virtual Host</emphasis>, |
| with one being configured as the default for clients that can't or don't specify which they wish to connect to. |
| </para> |
| <para> |
| The following diagram depicts the Virtual Host model: |
| <figure> |
| <title>Virtual Host Model</title> |
| <mediaobject> |
| <imageobject> |
| <imagedata fileref="images/VirtualHost-Model.png" format="PNG" scalefit="1"/> |
| </imageobject> |
| <textobject> |
| <phrase>Virtual Host Model</phrase> |
| </textobject> |
| </mediaobject> |
| </figure> |
| </para> |
| <para>Each <emphasis>Virtual Host</emphasis> has its own <emphasis>Message Store</emphasis> which is used to store persistent |
| messages on durable <emphasis>Queues</emphasis> it contains, as well as the configuration of any durable |
| <emphasis>Queues</emphasis>, <emphasis>Exchanges</emphasis>, and <emphasis>Bindings</emphasis> made during its operation.</para> |
| <para> |
| The Java Broker supports different types of <emphasis>Virtual Host</emphasis>, which providing |
| for different High Availability patterns. The <emphasis>standard</emphasis> <emphasis>Virtual |
| Host</emphasis> type provides no replication and is designed for standalone environments. It |
| supports a number of different <emphasis>Message Store</emphasis> implementations: |
| <itemizedlist> |
| <listitem><para><link linkend="Java-Broker-Stores-SQL-Store">JDBC Message Store</link></para></listitem> |
| <listitem><para><link linkend="Java-Broker-Stores-Derby-Store">Derby Message Store</link></para></listitem> |
| <listitem><para><link linkend="Java-Broker-Stores-BDB-Store">Berkeley DB Message Store</link></para></listitem> |
| <listitem><para><link linkend="Java-Broker-Stores-Memory-Store">Memory Message Store</link></para></listitem> |
| </itemizedlist> |
| </para> |
| <para> |
| The <emphasis>BDB_HA</emphasis> <emphasis>Virtual Host</emphasis> provides clustering for |
| reliability using the HA capabilties of the Oracle Berkeley DB (Java Edition) (see |
| <link linkend="Java-Broker-Stores-HA-BDB-Store">Berkeley DB HA Message Store</link>). |
| </para> |
| <para>Virtual Hosts configuration is covered in <xref linkend="Java-Broker-Virtual-Hosts"/>.</para> |
| </section> |