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

<!-- $Id: jboss-service.xml,v 1.2.6.1 2004/12/16 16:43:15 ejort Exp $ -->

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  A minimal JBoss Server Configuration                                 -->
<!--                                                                       -->
<!-- ===================================================================== -->

<server>

  <!-- Load all jars from the JBOSS_DIST/server/<config>/lib directory. This
    can be restricted to specific jars by specifying them in the archives
    attribute.
   -->
  <classpath codebase="lib" archives="*"/>

  <!-- ==================================================================== -->
  <!-- Log4j Initialization                                                 -->
  <!-- ==================================================================== -->
  <mbean code="org.jboss.logging.Log4jService"
    name="jboss.system:type=Log4jService,service=Logging">
    <attribute name="ConfigurationURL">resource:log4j.xml</attribute>
  </mbean>

  <!-- ==================================================================== -->
  <!-- JNDI                                                                 -->
  <!-- ==================================================================== -->

  <mbean code="org.jboss.naming.NamingService"
	 name="jboss:service=Naming">
    <!-- The listening port for the bootstrap JNP service. Set this to -1
      to run the NamingService without the JNP invoker listening port.
    -->
    <attribute name="Port">1099</attribute>
  </mbean>

   <!-- ==================================================================== -->
   <!-- Security                                                             -->
   <!-- ==================================================================== -->

   <mbean code="org.jboss.security.plugins.SecurityConfig"
      name="jboss.security:service=SecurityConfig">
      <attribute name="LoginConfig">jboss.security:service=XMLLoginConfig</attribute>
   </mbean>
   <mbean code="org.jboss.security.auth.login.XMLLoginConfig"
      name="jboss.security:service=XMLLoginConfig">
      <attribute name="ConfigResource">login-config.xml</attribute>
   </mbean>

   <!-- JAAS security manager and realm mapping -->
   <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
      name="jboss.security:service=JaasSecurityManager">
      <attribute name="SecurityManagerClassName">
         org.jboss.security.plugins.JaasSecurityManager
      </attribute>
   </mbean>

   <!-- ==================================================================== -->
   <!-- Transactions                                                         -->
   <!-- ==================================================================== -->
   <!-- The configurable Xid factory.  For use with Oracle, set pad to true -->
   <mbean code="org.jboss.tm.XidFactory"
      name="jboss:service=XidFactory">
      <!--attribute name="Pad">true</attribute-->
   </mbean>

   <!--
      | The fast in-memory transaction manager.
    -->
   <mbean code="org.jboss.tm.TransactionManagerService"
      name="jboss:service=TransactionManager"
      xmbean-dd="resource:xmdesc/TransactionManagerService-xmbean.xml">
      <attribute name="TransactionTimeout">300</attribute>

      <depends optional-attribute-name="XidFactory">jboss:service=XidFactory</depends>
   </mbean>

   <!-- ==================================================================== -->
   <!-- Invokers to the JMX node                                             -->
   <!-- ==================================================================== -->

   <!-- RMI/JRMP invoker -->
   <mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"
      name="jboss:service=invoker,type=jrmp">
      <attribute name="RMIObjectPort">4444</attribute>
      <attribute name="ServerAddress">${jboss.bind.address}</attribute>
      <!--
      <attribute name="RMIClientSocketFactory">custom</attribute>
      <attribute name="RMIServerSocketFactory">custom</attribute>
      <attribute name="RMIServerSocketAddr">custom</attribute>
      <attribute name="SecurityDomain">ssl-domain-name</attribute>
      -->
      <depends>jboss:service=TransactionManager</depends>
   </mbean>

   <mbean code="org.jboss.invocation.local.LocalInvoker"
      name="jboss:service=invoker,type=local">

      <depends>jboss:service=TransactionManager</depends>
   </mbean>

   <!-- ==================================================================== -->
   <!-- An MBean that is a registry for JDBC type-mapping metadata           -->
   <!-- ==================================================================== -->

   <mbean code="org.jboss.ejb.plugins.cmp.jdbc.metadata.MetaDataLibrary"
      name="jboss.jdbc:service=metadata"/>

  <!-- ==================================================================== -->
  <!-- Deployment Scanning                                                  -->
  <!-- ==================================================================== -->

  <!-- An mbean for hot deployment/undeployment of archives.
  -->
  <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"
	 name="jboss.deployment:type=DeploymentScanner,flavor=URL">

    <depends optional-attribute-name="Deployer">jboss.system:service=MainDeployer</depends>

    <!-- The URLComparator can be used to specify a deployment ordering
         for deployments found in a scanned directory.  The class specified
         must be an implementation of java.util.Comparator, it must be able
         to compare two URL objects, and it must have a no-arg constructor.
         Two deployment comparators are shipped with JBoss:
           - org.jboss.deployment.DeploymentSorter 
             Sorts by file extension, as follows:
               "sar", "service.xml", "rar", "jar", "war", "wsr", "ear", "zip", 
               "*"
           - org.jboss.deployment.scanner.PrefixDeploymentSorter
             If the name portion of the url begins with 1 or more digits, those 
             digits are converted to an int (ignoring leading zeroes), and 
             files are deployed in that order.  Files that do not start with 
             any digits will be deployed last, and they will be sorted by
             extension as above with DeploymentSorter.
    -->
    <attribute name="URLComparator">org.jboss.deployment.DeploymentSorter</attribute>
    <!-- The Filter specifies a java.io.FileFilter for scanned
         directories.  Any file not accepted by this filter will not be
         deployed.  The org.jboss.deployment.scanner.DeploymentFilter 
         rejects the following patterns:
             "#*", "%*", ",*", ".*", "_$*", "*#", "*$", "*%", "*.BAK", 
             "*.old", "*.orig", "*.rej", "*.bak", "*,v", "*~", ".make.state", 
             ".nse_depinfo", "CVS", "CVS.admin", "RCS", "RCSLOG", "SCCS", 
             "TAGS", "core", "tags"
    -->
    <attribute name="Filter">org.jboss.deployment.scanner.DeploymentFilter</attribute>

    <attribute name="ScanPeriod">5000</attribute>

    <!-- URLs are comma seperated and unprefixed arguments are considered
       file URLs and resolve relative to server home(JBOSS_DIST/server/default)
       unless the given path is absolute. Any referenced directories cannot
       be unpackaged archives, use the parent directory of the unpacked
       archive.
     -->
    <attribute name="URLs">
       deploy/
    </attribute>
  </mbean>


</server>
