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

<!--
     Servlet-based Remoting service deployment descriptor.

 -->

<server>
   <mbean code="org.jboss.remoting.transport.Connector"
          name="jboss.remoting:service=Connector,transport=servlet,target=jms"
          display-name="JMS Servlet transport Connector">
      <attribute name="Configuration">
         <config>
            <invoker transport="servlet">
               <!-- There should be no reason to change these parameters - warning!
                    Changing them may stop JBoss Messaging working correctly -->
               <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
               <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>               
               <attribute name="dataType" isParam="true">jms</attribute>
               <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
               <attribute name="serverBindPort">8080</attribute>
               <attribute name="numberOfCallRetries" isParam="true">1</attribute>
               <attribute name="pingFrequency" isParam="true">214748364</attribute>
               <attribute name="pingWindowFactor" isParam="true">10</attribute>
               <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute> 
               <attribute name="callbackStore">org.jboss.remoting.callback.BlockingCallbackStore</attribute>
               <attribute name="unwrapSingletonArrays">true</attribute>
               <attribute name="path">servlet-invoker/JmsServerInvokerServlet</attribute>
               <attribute name="return-exception">true</attribute>
               <attribute name="createUniqueObjectName">true</attribute>
               <attribute name="useAllParams" isParam="true">true</attribute>
               <!-- End immutable parameters -->
                                         
               <attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
               
               <!-- Periodicity of client pings. Server window by default is twice this figure -->                               
               <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
               <attribute name="validatorPingPeriod" isParam="true">10000</attribute>
               <attribute name="validatorPingTimeout" isParam="true">5000</attribute>

               <attribute name="failureDisconnectTimeout" isParam="true">0</attribute>
               <attribute name="callbackErrorsAllowed">1</attribute>
               <attribute name="registerCallbackListener">false</attribute>
               <attribute name="useClientConnectionIdentity" isParam="true">true</attribute>

	           <attribute name="timeout" isParam="true">0</attribute>

               <!-- Max Number of connections in client pool. This should be significantly higher than
                    the max number of sessions/consumers you expect -->
               <attribute name="JBM_clientMaxPoolSize" isParam="true">200</attribute>

               <!-- Set this to true if you want the servlet transport to block waiting for server->client traffic.
               Or false if you want it to poll for new traffic periodically. Recommended is blocking -->                       
               <attribute name="blockingMode" isParam="true">blocking</attribute>
               
               <!-- Timeout for blocking. Only has relevance if blockingMode = blocking -->
               <attribute name="blockingTimeout" isParam="true">30000</attribute>
                
               <!-- The periodicity of polling. Only has relevance if blockingMode = nonblocking -->               
               <!--attribute name="callbackPollPeriod" isParam="true">10000</attribute-->  
            </invoker>
            <handlers>
               <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
            </handlers>
         </config>
      </attribute>
   </mbean>

</server>
