Versions Compared

Key

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

...

Broker

...

config.xml

...

format

...

The

...

broker

...

config.xml

...

file

...

details

...

various

...

options

...

and

...

configuration

...

for

...

the

...

Java

...

Qpid

...

broker

...

implementation.

...

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.

{
No Format
}
<broker>
<!-- Various initial global definitions -->
    <connector>
<!-- Various connection information about the type connections the broker should listen for-->
    <management>
<!-- Enablement of management functionality -->
    <advanced>
<!-- Various advanced flags -->
    <security>
<!-- Definition of available security options -->
    <virtualhosts>
<!-- Definition of available virtual hosts -->
    <heartbeat>
<!-- Heartbeat configuration -->
    <queue>
<!-- General queue configuration options-->
    <virtualhosts>
<!-- ConfiguariationConfiguration of various virtual hosts. -->
</broker>

{noformat}

h3. Broker

The setting of the prefixes for 

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.

...

See

...

the

...

Getting

...

Started

...

Guide

...

for

...

more

...

information

...

on

...

these

...

variables.

{
No Format
}
<broker>
    <prefix>${QPID_HOME}</prefix>
    <work>${QPID_WORK}</work>
    <conf>${prefix}/etc</conf>

Connector

The connector section allows configuration of SSL and related keystore settings. By default this section is commented out and thus SSL is not enabled.

No Format
{noformat}

h3. Connector

The connector section allows configuration of SSL and related keystore settings. By default this section is commented out and thus SSL is not enabled.

{noformat}
    <connector>
        <!-- Uncomment out this block and edit the keystorePath and keystorePassword
             to enable SSL support
        <ssl>
            <enabled>true</enabled>
            <sslOnly>true</sslOnly>
            <keystorePath>/path/to/keystore.ks</keystorePath>
            <keystorePassword>keystorepass</keystorePassword>
        </ssl>-->
        <qpidnio>true</qpidnio>
        <transport>nio</transport>
        <port>5672</port>
        <sslport>8672</sslport>
        <socketReceiveBuffer>32768</socketReceiveBuffer>
        <socketSendBuffer>32768</socketSendBuffer>
    </connector>
{noformat}

h3. Management

This element allows the user to switch the connectivity of the management console on/off 

Management

This element allows the user to switch the connectivity of the management console on/off i.e.

...

if

...

the

...

enabled

...

tag

...

is

...

set

...

to

...

false

...

you

...

will

...

not

...

be

...

able

...

to

...

connect

...

a

...

management

...

console

...

to

...

this

...

broker

...

instance.

No Format

 
{noformat}
    <management>
        <enabled>true</enabled>
    </management>
{noformat}

Advanced

TBC

No Format

h3. Advanced
TBC
{noformat}
    <advanced>
       <filterchain enableExecutorPool="true"/>
        <enablePooledAllocator>false</enablePooledAllocator>
        <enableDirectBuffers>false</enableDirectBuffers>
        <framesize>65535</framesize>
        <compressBufferOnQueue>false</compressBufferOnQueue>
    </advanced>

Security

TBC

No Format
{noformat}

h3. Security
TBC
{noformat}
    <security>
        <principal-databases>
            <principal-database>
                <name>passwordfile</name>
                <class>org.apache.qpid.server.security.auth.PasswordFilePrincipalDatabase</class>
                <attributes>
                    <attribute>
                        <name>passwordFile</name>
                        <value>${conf}/passwd</value>
                    </attribute>
                </attributes>
            </principal-database>
        </principal-databases>
        <sasl>
            <mechanisms>
                <mechanism>
                    <initialiser>
                        <class>org.apache.qpid.server.security.auth.CRAMMD5Initialiser</class>
                        <principal-database>passwordfile</principal-database>
                    </initialiser>
                </mechanism>
                <mechanism>
                    <initialiser>
                        <class>org.apache.qpid.server.security.auth.amqplain.AmqPlainInitialiser</class>
                        <principal-database>passwordfile</principal-database>
                    </initialiser>
                </mechanism>
                <mechanism>
                    <initialiser>
                        <class>org.apache.qpid.server.security.auth.plain.PlainInitialiser</class>
                        <principal-database>passwordfile</principal-database>
                    </initialiser>
                </mechanism>
            </mechanisms>
        </sasl>
    </security>
{noformat}

h3. Virtualhosts

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. 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.

Virtualhosts

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. 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.

No Format
	<virtualhosts>
		<virtualhost>
			<name>localhost</name>
			<localhost>
			    <store>
					<!--class>org.apache.qpid.server.store.berkeleydb.BDBMessageStore</class>
					<environment-path>${work}/bdb/localhost-store</environment-path-->
					<class>org.apache.qpid.server.store.MemoryMessageStore</class>
			    </store>		
			</localhost>
		</virtualhost>
		
		<virtualhost>
			<name>development</name>
			<development>
			    <store>
					<class>org.apache.qpid.server.store.MemoryMessageStore</class>		
			    </store>			
			</development>
		</virtualhost>
		
		<virtualhost>
			<name>test</name>
			<test>
			    <store>
					<class>org.apache.qpid.server.store.MemoryMessageStore</class>
			    </store>			
			</test>
		</virtualhost>
		
	</virtualhosts>
{noformat}

h3. Heartbeat
 
The Qpid broker sends an internal 

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

...

!

{
No Format
}
    <heartbeat>
        <delay>0</delay>
        <timeoutFactor>2.0</timeoutFactor>
    </heartbeat>
{noformat}

h3. Queue

This should NOT be changed lightly as it sets the broker up to automatically bind queues to exchanges. 

It could theoretically be used to prevent users creating new queues at 

Queue

This should NOT be changed lightly as it sets the broker up to automatically bind queues to exchanges.

It could theoretically be used to prevent users creating new queues at runtime, assuming that you have created all queues/topics etc at broker startup. However, best advice is to leave unchanged for now.

No Format
runtime, assuming that you have created all queues/topics etc at broker startup. However, best advice is to leave unchanged for now.

{noformat}
    <queue>
        <auto_register>true</auto_register>
    </queue>

Virtualhosts

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.

No Format
{noformat}

h3. Virtualhosts

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. 

{noformat}
    <virtualhosts>${conf}/virtualhosts.xml</virtualhosts>
{noformat}