blob: 614ecf0a88b5da0c25fda91ea0ce82c3637d47e3 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- 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.
-
-->
<broker>
<prefix>${QPID_HOME}</prefix>
<work>${QPID_WORK}</work>
<conf>${prefix}/etc</conf>
<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>false</qpidnio>
<!-- I've had the 0.0 and 0.1 Reader threads continually throwing IOException when client closes-->
<protectio>false</protectio>
<transport>nio</transport>
<port>5672</port>
<sslport>8672</sslport>
<socketReceiveBuffer>32768</socketReceiveBuffer>
<socketSendBuffer>32768</socketSendBuffer>
</connector>
<management>
<enabled>false</enabled>
<jmxport>8999</jmxport>
<security-enabled>false</security-enabled>
</management>
<advanced>
<filterchain enableExecutorPool="true"/>
<enablePooledAllocator>false</enablePooledAllocator>
<enableDirectBuffers>false</enableDirectBuffers>
<framesize>65535</framesize>
<compressBufferOnQueue>false</compressBufferOnQueue>
<enableJMSXUserID>false</enableJMSXUserID>
</advanced>
<security>
<principal-databases>
<!-- Example use of Base64 encoded MD5 hashes for authentication via CRAM-MD5-Hashed -->
<principal-database>
<name>passwordfile</name>
<class>org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase</class>
<attributes>
<attribute>
<name>passwordFile</name>
<value>${conf}/passwd</value>
</attribute>
</attributes>
</principal-database>
</principal-databases>
<access>
<class>org.apache.qpid.server.security.access.plugins.DenyAll</class>
</access>
<jmx>
<access>${conf}/jmxremote.access</access>
<principal-database>passwordfile</principal-database>
</jmx>
</security>
<virtualhosts>
<directory>${conf}/virtualhosts</directory>
<virtualhost>
<name>test</name>
<test>
<store>
<class>org.apache.qpid.server.store.MemoryMessageStore</class>
</store>
<queues>
<exchange>amq.direct</exchange>
<!-- 4Mb -->
<maximumQueueDepth>4235264</maximumQueueDepth>
<!-- 2Mb -->
<maximumMessageSize>2117632</maximumMessageSize>
<!-- 10 mins -->
<maximumMessageAge>600000</maximumMessageAge>
</queues>
<security>
<access>
<class>org.apache.qpid.server.security.access.plugins.SimpleXML</class>
</access>
<access_control_list>
<!-- This section grants pubish rights to an exchange + routing key pair -->
<publish>
<exchanges>
<exchange>
<name>amq.direct</name>
<routing_keys>
<!-- Allow clients to publish requests -->
<routing_key>
<value>example.RequestQueue</value>
<users>
<user>client</user>
</users>
</routing_key>
<!-- Allow the processor to respond to a client on their Temporary Topic -->
<routing_key>
<value>tmp_*</value>
<users>
<user>server</user>
</users>
</routing_key>
<routing_key>
<value>TempQueue*</value>
<users>
<user>server</user>
</users>
</routing_key>
</routing_keys>
</exchange>
</exchanges>
</publish>
<!-- This section grants users the ability to consume from the broker -->
<consume>
<queues>
<!-- Allow the clients to consume from their temporary queues-->
<queue>
<temporary/>
<users>
<user>client</user>
</users>
</queue>
<!-- Only allow the server to consume from the Request Queue-->
<queue>
<name>example.RequestQueue</name>
<users>
<user>server</user>
</users>
</queue>
</queues>
</consume>
<!-- This section grants clients the ability to create queues and exchanges -->
<create>
<queues>
<!-- Allow clients to create temporary queues-->
<queue>
<temporary/>
<exchanges>
<exchange>
<name>amq.direct</name>
<users>
<user>client</user>
</users>
</exchange>
</exchanges>
</queue>
<!-- Allow the server to create the Request Queue-->
<queue>
<name>example.RequestQueue</name>
<users>
<user>server</user>
</users>
</queue>
</queues>
</create>
</access_control_list>
</security>
</test>
</virtualhost>
<virtualhost>
<name>development</name>
<development>
<store>
<class>org.apache.qpid.server.store.MemoryMessageStore</class>
</store>
</development>
</virtualhost>
<virtualhost>
<name>localhost</name>
<localhost>
<store>
<class>org.apache.qpid.server.store.MemoryMessageStore</class>
</store>
</localhost>
</virtualhost>
</virtualhosts>
<heartbeat>
<delay>0</delay>
<timeoutFactor>2.0</timeoutFactor>
</heartbeat>
<virtualhosts>${conf}/virtualhosts.xml</virtualhosts>
</broker>