<?xml version="1.0" encoding="UTF-8"?>

<!--
     The JBoss Messaging service deployment descriptor.

     $Id: messaging-service.xml 3880 2008-03-14 15:55:42Z timfox $
 -->

<server>

   <!--  The SecurityStore mbean -->
   <mbean code="org.jboss.jms.server.security.SecurityMetadataStore"
             name="jboss.messaging:service=SecurityStore">
             
        <!-- The default security configuration to apply to destinations - this can be overridden on a per destination basis
        -->
        <attribute name="DefaultSecurityConfig">
             <security>
                  <role name="guest" read="true" write="true" create="true"/>
             </security>
        </attribute>
        
        <!-- The JAAS security domain to use for JBoss Messaging -->
        <attribute name="SecurityDomain">java:/jaas/messaging</attribute>
        
        <!--
        This attribute defines what's the SuckerPassword used on this SecurityStore
        -->
        <attribute name="SuckerPassword">CHANGE ME!!</attribute>  
   </mbean>

     <!-- ServerPeer MBean configuration
          ============================== -->
     <mbean code="org.jboss.jms.server.ServerPeer"
      name="jboss.messaging:service=ServerPeer"
      xmbean-dd="xmdesc/ServerPeer-xmbean.xml">

      <!-- The unique id of the server peer - in a cluster each node MUST have a unique value - must be an integer -->

      <attribute name="ServerPeerID">${jboss.messaging.ServerPeerID:0}</attribute>
      
      <!-- The default JNDI context to use for queues when they are deployed without specifying one --> 
      
      <attribute name="DefaultQueueJNDIContext">/queue</attribute>
      
      <!-- The default JNDI context to use for topics when they are deployed without specifying one --> 
      
      <attribute name="DefaultTopicJNDIContext">/topic</attribute>

	  <attribute name="PostOffice">jboss.messaging:service=PostOffice</attribute>
	  
      <!-- The default Dead Letter Queue (DLQ) to use for destinations.
           This can be overridden on a per destinatin basis -->
      
      <attribute name="DefaultDLQ">jboss.messaging.destination:service=Queue,name=DLQ</attribute>
      
      <!-- The default maximum number of times to attempt delivery of a message before sending to the DLQ (if configured).
           This can be overridden on a per destinatin basis -->
      
      <attribute name="DefaultMaxDeliveryAttempts">10</attribute>
      
      <!-- The default Expiry Queue to use for destinations. This can be overridden on a per destinatin basis -->
      
      <attribute name="DefaultExpiryQueue">jboss.messaging.destination:service=Queue,name=ExpiryQueue</attribute>
      
      <!-- The default redelivery delay to impose. This can be overridden on a per destination basis -->
      
      <attribute name="DefaultRedeliveryDelay">0</attribute>
      
      <!-- The periodicity of the message counter manager enquiring on queues for statistics -->
      
      <attribute name="MessageCounterSamplePeriod">5000</attribute>
      
      <!-- The maximum amount of time for a client to wait for failover to start on the server side after
           it has detected failure -->
      
      <attribute name="FailoverStartTimeout">60000</attribute>
      
      <!-- The maximum amount of time for a client to wait for failover to complete on the server side after
           it has detected failure -->
      
      <attribute name="FailoverCompleteTimeout">300000</attribute>
      
      <!-- The maximum number of days results to maintain in the message counter history -->
      
      <attribute name="DefaultMessageCounterHistoryDayLimit">-1</attribute>
      
      <!-- The name of the connection factory to use for creating connections between nodes to pull messages -->
      
      <attribute name="ClusterPullConnectionFactoryName">jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory</attribute>
      
      <!-- When redistributing messages in the cluster. Do we need to preserve the order of messages received
            by a particular consumer from a particular producer? -->
            
      <attribute name="DefaultPreserveOrdering">false</attribute>
      
      <!-- Max. time to hold previously delivered messages back waiting for clients to reconnect after failover -->
      
      <attribute name="RecoverDeliveriesTimeout">300000</attribute>
      
      <!-- Set to true to enable message counters that can be viewed via JMX -->
      
      <attribute name="EnableMessageCounters">false</attribute>
      
      <!-- The password used by the message sucker connections to create connections.
           THIS SHOULD ALWAYS BE CHANGED AT INSTALL TIME TO SECURE SYSTEM
           The value of this attribute is an encoded value of clear text password. It can be
           generated with a util class called org.jboss.messaging.util.SecurityUtil, e.g.
             java org.jboss.messaging.util.SecurityUtil <clear text password>
      <attribute name="SuckerPassword"></attribute>
      -->

      <depends optional-attribute-name="PersistenceManager">jboss.messaging:service=PersistenceManager</depends>
      
      <depends optional-attribute-name="JMSUserManager">jboss.messaging:service=JMSUserManager</depends>
      
      <depends>jboss.messaging:service=Connector,transport=bisocket</depends>
      <depends optional-attribute-name="SecurityStore" proxy-type="org.jboss.jms.server.SecurityStore">jboss.messaging:service=SecurityStore</depends>
          
   </mbean>

</server>
