<?xml version="1.0" encoding="UTF-8"?>
<!-- This is where you can add and configure your MBeans
  ATTENTION: The order of the listing here is the same order as
    the MBeans are loaded. Therefore if a MBean depends on another
    MBean to be loaded and started it has to be listed after all
    the MBeans it depends on.
-->

<server>
  <!-- Classloading -->
  <mbean code="org.jboss.web.WebService" name="DefaultDomain:service=Webserver">
    <attribute name="Port">8083</attribute>
  </mbean>

  <!-- JNDI -->
  <mbean code="org.jboss.naming.NamingService" name="DefaultDomain:service=Naming">
    <attribute name="Port">1099</attribute>
  </mbean>
  <mbean code="org.jboss.naming.JNDIView" name="DefaultDomain:service=JNDIView" />


  <!-- Transactions -->
  <mbean code="org.jboss.tm.TransactionManagerService" name="DefaultDomain:service=TransactionManager">
    <attribute name="TransactionTimeout">300</attribute>
  </mbean>

  <!-- Security -->

  <!-- Uncomment to enable the sample SRPVerifierStore service
  <mbean code="org.jboss.security.srp.SRPVerifierStoreService" name="Security:name=SRPVerifierStoreService">
    <attribute name="JndiName">SRPDefaultVerifierSource</attribute>
    <attribute name="StoreFile">SRPVerifierStore.ser</attribute>
  </mbean>
-->
  <!-- Uncomment to enable the SRP login service
  <mbean code="org.jboss.security.srp.SRPService" name="service:name=SRPService">
    <attribute name="JndiName">SRPServerInterface</attribute>
    <attribute name="VerifierSourceJndiName">SRPDefaultVerifierSource</attribute>
    <attribute name="AuthenticationCacheJndiName">SRPAuthenticationCache</attribute>
    <attribute name="ServerPort">10099</attribute>
  </mbean>
-->

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

  <!-- Uncomment to enable the XML implementation of the JAAS policy
  <mbean code="org.jboss.security.plugins.SecurityPolicyService" name="Security:name=SecurityPolicyService">
    <attribute name="JndiName">DefaultSecurityPolicy</attribute>
    <attribute name="PolicyFile">sample_policy.xml</attribute>
  </mbean>
-->

  <!-- JDBC -->
  <mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
     <attribute name="Drivers">org.gjt.mm.mysql.Driver,org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver</attribute>
  </mbean>

  <mbean code="org.jboss.jdbc.HypersonicDatabase" name="DefaultDomain:service=Hypersonic">
    <attribute name="Port">1476</attribute>
    <attribute name="Silent">true</attribute>
    <attribute name="Database">default</attribute>
    <attribute name="Trace">false</attribute>
  </mbean>

  <mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=InstantDB">
    <attribute name="PoolName">InstantDB</attribute>
    <attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
    <attribute name="Properties"></attribute>
    <attribute name="URL">jdbc:idb:../conf/default/instantdb.properties</attribute>
    <attribute name="GCMinIdleTime">1200000</attribute>
    <attribute name="JDBCUser" />
    <attribute name="MaxSize">10</attribute>
    <attribute name="Password" />
    <attribute name="GCEnabled">false</attribute>
    <attribute name="InvalidateOnError">false</attribute>
    <attribute name="TimestampUsed">false</attribute>
    <attribute name="Blocking">true</attribute>
    <attribute name="GCInterval">120000</attribute>
    <attribute name="IdleTimeout">1800000</attribute>
    <attribute name="IdleTimeoutEnabled">false</attribute>
    <attribute name="LoggingEnabled">false</attribute>
    <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
    <attribute name="MinSize">0</attribute>
  </mbean>

  <mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=DefaultDS">
    <attribute name="PoolName">DefaultDS</attribute>
    <attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
    <attribute name="Properties"></attribute>
    <attribute name="URL">jdbc:HypersonicSQL:hsql://localhost:1476</attribute>
    <attribute name="GCMinIdleTime">1200000</attribute>
    <attribute name="JDBCUser">sa</attribute>
    <attribute name="MaxSize">10</attribute>
    <attribute name="Password" />
    <attribute name="GCEnabled">false</attribute>
    <attribute name="InvalidateOnError">false</attribute>
    <attribute name="TimestampUsed">false</attribute>
    <attribute name="Blocking">true</attribute>
    <attribute name="GCInterval">120000</attribute>
    <attribute name="IdleTimeout">1800000</attribute>
    <attribute name="IdleTimeoutEnabled">false</attribute>
    <attribute name="LoggingEnabled">false</attribute>
    <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
    <attribute name="MinSize">0</attribute>
  </mbean>

  <!-- MySQL -->
  <mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=CAMS">
    <attribute name="PoolName">CAMS</attribute>
    <attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
    <attribute name="URL">jdbc:mysql://machiavelli.frontwire.localdomain/cams</attribute>
    <attribute name="GCMinIdleTime">1200000</attribute>
    <attribute name="JDBCUser">cams</attribute>
    <attribute name="MaxSize">20</attribute>
    <attribute name="Password">f00bar</attribute>
    <attribute name="GCEnabled">false</attribute>
    <attribute name="InvalidateOnError">false</attribute>
    <attribute name="TimestampUsed">false</attribute>
    <attribute name="Blocking">true</attribute>
    <attribute name="GCInterval">120000</attribute>
    <attribute name="IdleTimeout">1800000</attribute>
    <attribute name="IdleTimeoutEnabled">True</attribute>
    <attribute name="LoggingEnabled">True</attribute>
    <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
    <attribute name="MinSize">0</attribute>
  </mbean>


  <!-- J2EE deployment -->

  <mbean code="org.jboss.ejb.ContainerFactory" name=":service=ContainerFactory">
    <attribute name="VerifyDeployments">true</attribute>
    <attribute name="MetricsEnabled">true</attribute>
    <attribute name="VerifierVerbose">true</attribute>
    <attribute name="BeanCacheJMSMonitoringEnabled">true</attribute>
  </mbean>

  <!-- Uncomment to add embedded tomcat service -->
  <mbean code="org.jboss.tomcat.EmbeddedTomcatServiceSX" name="DefaultDomain:service=EmbeddedTomcat" />

  <!-- For Message Driven Beans -->
  <mbean code="org.jbossmq.server.JBossMQService" name="DefaultDomain:service=JBossMQ" />
  <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name=":service=JMSProviderLoader,name=JBossMQProvider">
    <attribute name="ProviderName">DefaultJMSProvider</attribute>
    <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JBossMQProvider</attribute>
  </mbean>
  <mbean code="org.jboss.jms.asf.ServerSessionPoolLoader" name=":service=ServerSessionPoolMBean,name=StdJMSPool">
    <attribute name="PoolName">StdJMSPool</attribute>
    <attribute name="PoolFactoryClass">org.jboss.jms.asf.StdServerSessionPoolFactory</attribute>
  </mbean>


  <!-- Make sure you change EmbeddedTomcat to Jetty if you are using Jetty  -->
  <mbean code="org.jboss.deployment.J2eeDeployer" name="J2EE:service=J2eeDeployer">
    <attribute name="DeployerName">Default</attribute>
    <attribute name="JarDeployerName">:service=ContainerFactory</attribute>
    <attribute name="WarDeployerName">:service=EmbeddedTomcat</attribute>
  </mbean>

  <mbean code="org.jboss.ejb.AutoDeployer" name="EJB:service=AutoDeployer">
    <attribute name="Deployer">J2EE:service=J2eeDeployer</attribute>
    <attribute name="URLs">../deploy</attribute>
  </mbean>

  <!-- J2EE connector architecture -->
  <mbean code="org.jboss.resource.RARDeployer" name="JCA:service=RARDeployer">
  </mbean>

  <!-- Minerva no transaction connection manager factory.
  
       Use this for resource adapters that don't support 
       transactions. -->
  <mbean code="org.jboss.resource.ConnectionManagerFactoryLoader"
         name="JCA:service=ConnectionManagerFactoryLoader,name=MinervaNoTransCMFactory">
    <attribute name="FactoryName">MinervaNoTransCMFactory</attribute>
    <attribute name="FactoryClass">org.opentools.minerva.connector.jboss.MinervaNoTransCMFactory</attribute>
    <attribute name="Properties"></attribute>
  </mbean>

  <!-- Minerva local transaction connection manager factory.
  
       Use this for resource adapters that support "local"
       transactions. -->
  <mbean code="org.jboss.resource.ConnectionManagerFactoryLoader"
         name="JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory">
    <attribute name="FactoryName">MinervaSharedLocalCMFactory</attribute>
    <attribute name="FactoryClass">
      org.opentools.minerva.connector.jboss.MinervaSharedLocalCMFactory
    </attribute>
    <attribute name="Properties"></attribute>
  </mbean>

  <!-- Minerva XA transaction connection manager factory
  
       Use this for resource adapters that support "xa"
       transactions. -->
  <mbean code="org.jboss.resource.ConnectionManagerFactoryLoader"
         name="JCA:service=ConnectionManagerFactoryLoader,name=MinervaXACMFactory">
    <attribute name="FactoryName">MinervaXACMFactory</attribute>
    <attribute name="FactoryClass">
      org.opentools.minerva.connector.jboss.MinervaXACMFactory
    </attribute>
    <attribute name="Properties"></attribute>
  </mbean>

  <!-- Example connection factory for the example "Black Box" resource
       adapter. This points at the same database as DefaultDS. -->
  <mbean code="org.jboss.resource.ConnectionFactoryLoader"
         name="JCA:service=ConnectionFactoryLoader,name=BlackBoxDS">
    <attribute name="FactoryName">BlackBoxDS</attribute>
    <attribute name="RARDeployerName">JCA:service=RARDeployer</attribute>
    <attribute name="ResourceAdapterName">Black Box LocalTx Adapter</attribute>
    <attribute name="Properties">
      ConnectionURL=jdbc:HypersonicSQL:hsql://localhost:1476
    </attribute>

    <attribute name="ConnectionManagerFactoryName">
      MinervaSharedLocalCMFactory
    </attribute>
    <!-- See the documentation for the specific connection manager
         implementation you are using for the properties you can set -->
    <attribute name="ConnectionManagerProperties">
      # Pool type - uncomment to force, otherwise it is the default
      #PoolConfiguration=per-factory

      # Connection pooling properties - see
      # org.opentools.minerva.pool.PoolParameters
      MinSize=0
      MaxSize=10
      Blocking=true
      GCEnabled=false
      IdleTimeoutEnabled=false
      InvalidateOnError=false
      TrackLastUsed=false
      GCIntervalMillis=120000
      GCMinIdleMillis=1200000
      IdleTimeoutMillis=1800000
      MaxIdleTimeoutPercent=1.0
    </attribute>

    <!-- Principal mapping configuration -->
    <attribute name="PrincipalMappingClass">
      org.jboss.resource.security.ManyToOnePrincipalMapping
    </attribute>
    <attribute name="PrincipalMappingProperties">
      userName=sa
      password=
    </attribute>
  </mbean>

  <!-- This is an example of using a resource adapter that supports XA
       transactions. The Black Box XA resource adapter requires an
       XADataSource to be in JNDI somewhere. JBoss doesn't include a
       database with an XA-compliant JDBC driver, so this will need to
       be configured to use whatever XADataSource implementation you
       have.

  <mbean code="org.jboss.jdbc.RawXADataSourceLoader"
         name="DefaultDomain:service=RawXADataSourceLoader,name=BlackBoxXADS">
    <attribute name="PoolName">BlackBoxXADS</attribute>
    <attribute name="DataSourceClass">
      Put your XADataSource implementation class here
    </attribute>
    <attribute name="Properties"></attribute>
  </mbean>

  <mbean code="org.jboss.resource.ConnectionFactoryLoader"
         name="JCA:service=ConnectionFactoryLoader,name=XABlackBoxDS">
    <attribute name="FactoryName">XABlackBoxDS</attribute>
    <attribute name="RARDeployerName">JCA:service=RARDeployer</attribute>
    <attribute name="ResourceAdapterName">Black Box XA Adapter</attribute>
    <attribute name="Properties">
      XADataSourceName=java:/BlackBoxXADS
    </attribute>

    <attribute name="ConnectionManagerFactoryName">
      MinervaXACMFactory
    </attribute>
    <attribute name="ConnectionManagerProperties">
      # Pool type - uncomment to force, otherwise it is the default
      #PoolConfiguration=per-factory

      # Connection pooling properties - see
      # org.opentools.minerva.pool.PoolParameters
      MinSize=0
      MaxSize=10
      Blocking=true
      GCEnabled=false
      IdleTimeoutEnabled=false
      InvalidateOnError=false
      TrackLastUsed=false
      GCIntervalMillis=120000
      GCMinIdleMillis=1200000
      IdleTimeoutMillis=1800000
      MaxIdleTimeoutPercent=1.0
    </attribute>

    <attribute name="PrincipalMappingClass">
      org.jboss.resource.security.ManyToOnePrincipalMapping
    </attribute>
    <attribute name="PrincipalMappingProperties">
      userName=sa
      password=
    </attribute>
  </mbean>
  -->

  <!-- JMX adaptors -->
  <mbean code="org.jboss.jmx.server.JMXAdaptorService" name="Adaptor:name=RMI" />

  <mbean code="org.jboss.jmx.server.RMIConnectorService" name="Connector:name=RMI" />

  <mbean code="com.sun.jdmk.comm.HtmlAdaptorServer" name="Adaptor:name=html">
    <attribute name="MaxActiveClientCount">10</attribute>
    <attribute name="Parser" />
    <attribute name="Port">8082</attribute>
  </mbean>

  <!-- Mail Connection Factory -->
  <mbean code="org.jboss.mail.MailService" name=":service=Mail">
    <attribute name="JNDIName">Mail</attribute>
    <attribute name="ConfigurationFile">mail.properties</attribute>
    <attribute name="User">user_id</attribute>
    <attribute name="Password">password</attribute>
  </mbean>

  <!-- Uncomment to enable JMX monitoring of the bean cache -->
  <mbean code="org.jboss.monitor.BeanCacheMonitor" name="Monitor:name=BeanCacheMonitor"/>

  <!-- Add your custom MBeans here -->

</server>
