Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For more information about command line configuration options please see Qpid+Design+-+Configuration.

File Format

This is an overview of the top level of the config file. Description of each section is embedded below. Each section is then described in detail in their own section.

...

Configuration Sections - Detailed Information

The following sections provide an element by element overview of the config.xml.

Broker

The setting of the prefixes for QPID_HOME and QPID_WORK allows environment variables to be used throughout the config.xml and removes the need for hard coding of paths in this file.

...

No Format
<management>
    <enabled>true</enabled>
</management>

Advanced

TBCThe elements in this section are used under the covers in the broker. At present, we do not recommend any changes to these settings.

No Format
<advanced>
   <filterchain enableExecutorPool="true"/>
    <enablePooledAllocator>false</enablePooledAllocator>
    <enableDirectBuffers>false</enableDirectBuffers>
    <framesize>65535</framesize>
    <compressBufferOnQueue>false</compressBufferOnQueue>
</advanced>

...

This section allows you to define the set of virtual hosts which will be contained in your broker instance, and the message store & location for each. NB: The commented out section referencing BDBMessageStore should be used for all applications wishing to use persistence to disk.

If you are using transient messaging you can use the MemoryMessageStore, with the caveat that scalability for transient use is limited by heap size.

In our example config.xml, we define three virtual hosts which we commonly use for development (development), system testing (test) and integration testing (localhost). In the config.xml the per virtual host sections define both the Message Store in use (MemoryMessageStore for non-persistent applications or BDBMessageStore for persistent application usage) and the security for each virtual host. The security settings are under currently development so subject to changes.

The default virtual host for connections which do not specify a host on the url is 'test' in the example config.xml.

No Format
<virtualhosts><virtualhost>
    <virtualhost>
        <name>localhost</name>
        <localhost>

    <localhost>
        <!-- This section specifies the type of store to use. Be it the MemoryMessageStore or another 3rd party store --> <store>
            <store>
                <!--class>org <class>org.apache.qpid.server.store.berkeleydb.BDBMessageStore</class>
                        <environment-path>${work}/bdb/localhost-store</environment-pathpath> -->

                    <class>org.apache.qpid.server.store.MemoryMessageStore</class>
                </store>

            <security>    <security>
            
        <!-- Need protocol changes to    <access>allow this-->
                    <!-- This is the type of AccessManager to use.-->
<authentication>
                        <name>passwordfile</name>
    <class>org.apache.qpid.server.security.access.PrincipalDatabaseAccessManager</class>
                    <attributes>
                <!-- Currently this can't be used as Vhost isn't specified at connection start only connection open -->
        <attribute>
                <mechanism>PLAIN</mechanism>
            <name>principalDatabase</name>
        </authentication>
                    <value>passwordfile</value><access>
                        </attribute><class>org.apache.qpid.server.security.access.PrincipalDatabaseAccessManager</class>
                        <attribute><attributes>
                            <!-- The defaultAccessManager can be either DenyAll or AllowAll -->
<attribute>
                                <name>principalDatabase</name>
    <name>defaultAccessManager</name>
                            <value>DenyAll<<value>passwordfile</value>
                            </attribute>
                    </attributes>
        <attribute>
        </access>
            </security>

        </localhost>
    <<name>defaultAccessManager</virtualhost>
name>
    <virtualhost>
        <name>development</name>
        <development>
            <store><value>DenyAll</value>
                <class>org.apache.qpid.server.store.MemoryMessageStore</class>
            </store>attribute>
        </development>
    </virtualhost>

    <virtualhost>
        <name>test<</name>attributes>
        <test>
            <store></access>
                <class>org.apache.qpid.server.store.MemoryMessageStore</class></security>
            </store>localhost>
        </test>
    </virtualhost>
</virtualhosts>

Heartbeat

The Qpid broker sends an internal (only) heartbeat. This element allows configuration of the frequency of this heartbeat. At present, we recommend that you leave this section unchanged !

...

This element allows you to specify a location for the virtualhosts.xml file that you wish to use. If you are not using a subdirectory under $QPID_HOME you can provide a fully qualified path instead. For more information on the content of the virtualhosts.xml file please see Configure the Virtual Hosts via virtualhosts.xml

No Format
<virtualhosts>${conf}/virtualhosts.xml</virtualhosts>