0 Replies Latest reply on Feb 11, 2008 7:00 AM by Sridevi Sivakumar

      Unable to start multiple instances of ATG on JBOSS 4.0.5

    Sridevi Sivakumar Newbie

      We are trying to run multiple instances of JBOSS 4.0.5 on the same machine and are running into port conflict problems.

      For configuring multiple instances, we have followed instructions from the JBOSS documentation :
      http://docs.jboss.org/jbossas/guides/j2eeguide/r2/en/html/ch08.html#ch10.bindingmanager.

      We setup two instances of JBOSS called atginstance1 and atginstance 2
      The bindings xml for atginstance 1 is as below:
      <service-bindings>


      <!-- EJB3 Remoting Connector ejb3.deployer/META-INF/jboss-service.xml -->

      <service-config
      name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config>
      socket://${jboss.bind.address}:3973</attribu
      te>
      </delegate-config>

      </service-config>

      <!-- ********************* jboss-service.xml ****************** -->

      <service-config name="jboss:service=Naming"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port" hostName="BindAddress">
      1198
      </delegate-config>

      </service-config>


      <service-config name="jboss:service=WebService"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port"/>

      </service-config>


      <service-config name="jboss:service=invoker,type=jrmp"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="RMIObjectPort"/>

      </service-config>


      <service-config name="jboss:service=invoker,type=pooled"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="ServerBindPort"/>

      </service-config>


      <!-- ********************* cluster-service.xml **************** -->

      <service-config name="jboss:service=HAJNDI"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config portName="Port" hostName="BindAddress">
      1201
      </delegate-config>

      </service-config>

      <service-config name="jboss:service=invoker,type=jrmpha"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config portName="RMIObjectPort"/>

      </service-config>

      <service-config name="jboss:service=invoker,type=pooledha"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config portName="ServerBindPort"/>

      </service-config>

      <!-- ********************* jmx-rmi-adaptor.sar **************** -->

      <service-config name="jboss.jmx:type=Connector,name=RMI"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="RMIObjectPort"/>

      </service-config>


      <!-- ********************* jbossmq-service.xml **************** -->

      <!-- JMS related services -->
      <service-config name="jboss.mq:service=InvocationLayer,type=UIL2"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="ServerBindPort"/>

      </service-config>


      <!-- ********************* jbossmq-httpil.sar **************** -->
      <service-config name="jboss.mq:service=InvocationLayer,type=HTTP"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="URLPort"/>

      </service-config>

      <!-- ********************* hajndi-jms-ds.xml **************** -->
      <!-- The JMS provider loader -->
      <service-config
      name="jboss.mq:service=JMSProviderLoader,name=HAJNDIJMSProvider"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <!--
      MAKE SURE java.naming.provider.url
      PORT IS SAME AS HA-JNDI ABOVE !!!
      -->
      <delegate-config>
      <![CDATA[
      java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
      java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
      java.naming.provider.url=${jboss.bind.address:localhost}:1200
      jnp.disableDiscovery=false
      jnp.partitionName=${jboss.partition.name:DefaultPartition}
      jnp.discoveryGroup=${jboss.partition.udpGroup:230.0.0.4}
      jnp.discoveryPort=1102
      jnp.discoveryTTL=16
      jnp.discoveryTimeout=5000
      jnp.maxRetries=1
      ]]>

      </delegate-config>
      <!-- NOTE: YOU MUST ADD THIS ELEMENT, BUT THE VALUE DOESN'T MATTER
      BE SURE THE CORRECT VALUE IS IN java.naming.provider.url ABOVE -->

      </service-config>

      <!-- **************** http-invoker.sar & httpha-invoker.sar***************
      -->
      <!-- EJBInvoker -->
      <service-config name="jboss:service=invoker,type=http"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/EJBInvokerServlet</attribute&
      #62;
      </delegate-config>
      <!--
      MUST BE THE SAME AS
      TOMCAT HTTP CONNECTOR BELOW !!!
      -->

      </service-config>

      <!-- JMXInvoker -->
      <service-config name="jboss:service=invoker,type=http,target=Naming"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/JMXInvokerServlet</attribute&
      #62;
      </delegate-config>
      <!--
      MUST BE THE SAME AS
      TOMCAT HTTP CONNECTOR BELOW !!!
      -->

      </service-config>

      <!-- readonly JMXInvoker -->
      <service-config
      name="jboss:service=invoker,type=http,target=Naming,readonly=true"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/readonly/JMXInvokerServlet</a
      ttribute>
      </delegate-config>
      <!--
      MUST BE THE SAME AS
      TOMCAT HTTP CONNECTOR BELOW !!!
      -->

      </service-config>

      <!-- **************** httpha-invoker.sar*************** -->
      <!-- EJBInvokerHA -->
      <service-config name="jboss:service=invoker,type=httpHA"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/EJBInvokerHAServlet</attribut
      e>
      </delegate-config>

      </service-config>

      <!-- JMXInvokerHA -->
      <service-config name="jboss:service=invoker,type=http,target=HAJNDI"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/JMXInvokerHAServlet</attribut
      e>
      </delegate-config>

      </service-config>
      <!-- ********************* jboss-ws4ee.sar **************** -->

      <!-- Web Service related services -->
      <service-config name="jboss.ws4ee:service=AxisService"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="WebServicePort"
      hostName="WebServiceHost"/>

      </service-config>



      <!-- ********************* tomcat ********************** -->

      <service-config name="jboss.web:service=WebServer"
      delegateClass="org.jboss.services.binding.XSLTFileDelegate"
      >
      <delegate-config>
      <xslt-config configName="ConfigFile"><![CDATA[
      <xsl:stylesheet
      xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
      version='1.0'>

      <xsl:output method="xml" />
      <xsl:param name="port"/>

      <xsl:variable name="portAJP" select="$port - 71"/>
      <xsl:variable name="portHttps" select="$port + 363"/>

      <xsl:template match="/">
      <xsl:apply-templates/>
      </xsl:template>

      <xsl:template match = "Connector">

      <xsl:for-each select="@*">
      <xsl:choose>
      <xsl:when test="(name() = 'port' and . =
      '8180')">
      <xsl:attribute name="port"><xsl:value-of
      select="$port" /></xsl:attribute>
      </xsl:when>
      <xsl:when test="(name() = 'port' and . =
      '8009')">
      <xsl:attribute name="port"><xsl:value-of
      select="$portAJP" /></xsl:attribute>
      </xsl:when>
      <xsl:when test="(name() = 'redirectPort')">
      <xsl:attribute
      name="redirectPort"><xsl:value-of select="$portHttps"
      /></xsl:attribute>
      </xsl:when>
      <xsl:when test="(name() = 'port' and . =
      '8443')">
      <xsl:attribute name="port"><xsl:value-of
      select="$portHttps" /></xsl:attribute>
      </xsl:when>
      <xsl:otherwise>
      <xsl:attribute name="{name()}"><xsl:value-of
      select="." /></xsl:attribute>
      </xsl:otherwise>
      </xsl:choose>
      </xsl:for-each>
      <xsl:apply-templates/>

      </xsl:template>

      <xsl:template match="*|@*">
      <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
      </xsl:copy>
      </xsl:template>
      </xsl:stylesheet>
      ]]>
      </xslt-config>
      </delegate-config>

      </service-config>

      <!-- ********************* jboss messaging ********************** -->

      <service-config
      name="jboss.messaging:service=Connector,transport=socket"

      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config>
      socket://${jboss.bind.address}:4557/?dataType=jm
      s&serializationtype=jms&timeout=0&leasePeriod=20000&socket.check_connectio
      n=false&marshaller=org.jboss.jms.server.remoting.JMSWireFormat&unmarshaller=org.jb
      oss.jms.server.remoting.JMSWireFormat
      </delegate-config>

      </service-config>


      </service-bindings>

      The bindings xml for atginstance 2 is as below:
      <!--
      $Id: sample-bindings.xml 57311 2006-09-30 18:55:12Z dimitris@jboss.org $

      <service-bindings>


      <!-- ********************************************************** -->
      <!-- * atginstance2 * -->
      <!-- ********************************************************** -->


      <!-- EJB3 Remoting Connector ejb3.deployer/META-INF/jboss-service.xml -->

      <service-config
      name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config>
      socket://${jboss.bind.address}:4073</attribu
      te>
      </delegate-config>

      </service-config>

      <!-- ********************* jboss-service.xml ****************** 1298 1299
      4644-->

      <service-config name="jboss:service=Naming"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port" hostName="BindAddress">
      0
      </delegate-config>

      </service-config>


      <service-config name="jboss:service=WebService"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port"/>

      </service-config>


      <service-config name="jboss:service=invoker,type=jrmp"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="RMIObjectPort"/>

      </service-config>


      <service-config name="jboss:service=invoker,type=pooled"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="ServerBindPort"/>

      </service-config>


      <!-- ********************* cluster-service.xml **************** 1301 1300 4644
      -->

      <service-config name="jboss:service=HAJNDI"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config portName="Port" hostName="BindAddress">
      0
      </delegate-config>

      </service-config>

      <service-config name="jboss:service=invoker,type=jrmpha"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config portName="RMIObjectPort"/>

      </service-config>

      <service-config name="jboss:service=invoker,type=pooledha"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config portName="ServerBindPort"/>

      </service-config>

      <!-- ********************* iiop-service.xml ****************** -->

      <service-config name="jboss:service=CorbaORB"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port"/>

      </service-config>


      <!-- ********************* jmx-rmi-adaptor.sar **************** 19201 -->

      <service-config name="jboss.jmx:type=Connector,name=RMI"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="RMIObjectPort"/>

      </service-config>


      <!-- ********************* snmp-adaptor.sar ****************** -->

      <service-config
      name="jboss.jmx:name=SnmpAgent,service=trapd,type=logger"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port"/>

      </service-config>

      <service-config
      name="jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port"/>

      </service-config>


      <!-- ********************* jbossmq-service.xml **************** -->

      <!-- JMS related services -->
      <service-config name="jboss.mq:service=InvocationLayer,type=UIL2"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="ServerBindPort"/>

      </service-config>


      <!-- ********************* jbossmq-httpil.sar **************** -->
      <service-config name="jboss.mq:service=InvocationLayer,type=HTTP"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="URLPort"/>

      </service-config>

      <!-- ********************* hajndi-jms-ds.xml **************** -->

      <!-- The JMS provider loader -->
      <service-config
      name="jboss.mq:service=JMSProviderLoader,name=HAJNDIJMSProvider"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <!--
      MAKE SURE java.naming.provider.url
      PORT IS SAME AS HA-JNDI ABOVE !!!
      -->
      <delegate-config>
      <![CDATA[
      java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
      java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
      java.naming.provider.url=${jboss.bind.address:localhost}:1300
      jnp.disableDiscovery=false
      jnp.partitionName=${jboss.partition.name:DefaultPartition}
      jnp.discoveryGroup=${jboss.partition.udpGroup:230.0.0.4}
      jnp.discoveryPort=1102
      jnp.discoveryTTL=16
      jnp.discoveryTimeout=5000
      jnp.maxRetries=1
      ]]>

      </delegate-config>
      <!-- NOTE: YOU MUST ADD THIS ELEMENT, BUT THE VALUE DOESN'T MATTER
      BE SURE THE CORRECT VALUE IS IN java.naming.provider.url ABOVE -->

      </service-config>

      <!-- **************** http-invoker.sar & httpha-invoker.sar***************
      -->
      <!-- EJBInvoker -->
      <service-config name="jboss:service=invoker,type=http"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/EJBInvokerServlet</attribute&
      #62;
      </delegate-config>
      <!--
      MUST BE THE SAME AS
      TOMCAT HTTP CONNECTOR BELOW !!!
      -->

      </service-config>

      <!-- JMXInvoker -->
      <service-config name="jboss:service=invoker,type=http,target=Naming"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/JMXInvokerServlet</attribute&
      #62;
      </delegate-config>
      <!--
      MUST BE THE SAME AS
      TOMCAT HTTP CONNECTOR BELOW !!!
      -->

      </service-config>

      <!-- readonly JMXInvoker -->
      <service-config
      name="jboss:service=invoker,type=http,target=Naming,readonly=true"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/readonly/JMXInvokerServlet</a
      ttribute>
      </delegate-config>
      <!--
      MUST BE THE SAME AS
      TOMCAT HTTP CONNECTOR BELOW !!!
      -->

      </service-config>

      <!-- **************** httpha-invoker.sar*************** -->
      <!-- EJBInvokerHA -->
      <service-config name="jboss:service=invoker,type=httpHA"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/EJBInvokerHAServlet</attribut
      e>
      </delegate-config>

      </service-config>

      <!-- JMXInvokerHA -->
      <service-config name="jboss:service=invoker,type=http,target=HAJNDI"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config>
      :${port}/invoker/JMXInvokerHAServlet</attribut
      e>
      </delegate-config>

      </service-config>




      <!-- ********************* jboss-ws4ee.sar **************** -->

      <!-- Web Service related services -->
      <service-config name="jboss.ws4ee:service=AxisService"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="WebServicePort"
      hostName="WebServiceHost"/>

      </service-config>

      <!-- ********************* hsqldb-ds.xml ********************** -->

      <!-- Hypersonic related services

      Only if using TCP setup (local file setup by default)

      <service-config
      name="jboss.jca:service=ManagedConnectionFactory,name=DefaultDS"
      delegateClass="org.jboss.services.binding.XSLTConfigDelegate"
      >
      <delegate-config>
      <xslt-config
      configName="ManagedConnectionFactoryProperties"><![CDATA[
      <xsl:stylesheet
      xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
      version='1.0'>

      <xsl:output method="xml" />
      <xsl:param name="host"/>
      <xsl:param name="port"/>

      <xsl:template match="/">
      <xsl:apply-templates/>
      </xsl:template>

      <xsl:template
      match="config-property[@name='ConnectionURL']">
      <config-property type="java.lang.String"
      name="ConnectionURL">jdbc:hsqldb:hsql://<xsl:value-of
      select='$host'/>:<xsl:value-of
      select='$port'/></config-property>
      </xsl:template>

      <xsl:template match="*|@*">
      <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
      </xsl:copy>
      </xsl:template>
      </xsl:stylesheet>
      ]]>
      </xslt-config>
      </delegate-config>

      </service-config>

      <service-config name="jboss:service=Hypersonic"
      delegateClass="org.jboss.services.binding.AttributeMappingDelegate"
      >
      <delegate-config portName="Port" />

      </service-config>

      -->


      <!-- ********************* tomcat ***************** -->

      <service-config name="jboss.web:service=WebServer"
      delegateClass="org.jboss.services.binding.XSLTFileDelegate"
      >
      <delegate-config>
      <xslt-config configName="ConfigFile"><![CDATA[
      <xsl:stylesheet
      xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
      version='1.0'>

      <xsl:output method="xml" />
      <xsl:param name="port"/>

      <xsl:variable name="portAJP" select="$port - 71"/>
      <xsl:variable name="portHttps" select="$port + 363"/>

      <xsl:template match="/">
      <xsl:apply-templates/>
      </xsl:template>

      <xsl:template match = "Connector">

      <xsl:for-each select="@*">
      <xsl:choose>
      <xsl:when test="(name() = 'port' and . =
      '8280')">
      <xsl:attribute name="port"><xsl:value-of
      select="$port" /></xsl:attribute>
      </xsl:when>
      <xsl:when test="(name() = 'port' and . =
      '8009')">
      <xsl:attribute name="port"><xsl:value-of
      select="$portAJP" /></xsl:attribute>
      </xsl:when>
      <xsl:when test="(name() = 'redirectPort')">
      <xsl:attribute
      name="redirectPort"><xsl:value-of select="$portHttps"
      /></xsl:attribute>
      </xsl:when>
      <xsl:when test="(name() = 'port' and . =
      '8443')">
      <xsl:attribute name="port"><xsl:value-of
      select="$portHttps" /></xsl:attribute>
      </xsl:when>
      <xsl:otherwise>
      <xsl:attribute name="{name()}"><xsl:value-of
      select="." /></xsl:attribute>
      </xsl:otherwise>
      </xsl:choose>
      </xsl:for-each>
      <xsl:apply-templates/>

      </xsl:template>

      <xsl:template match="*|@*">
      <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
      </xsl:copy>
      </xsl:template>
      </xsl:stylesheet>
      ]]>
      </xslt-config>
      </delegate-config>

      </service-config>

      <!-- ********************* jboss messaging ********************** -->

      <service-config
      name="jboss.messaging:service=Connector,transport=socket"

      delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
      <delegate-config>
      socket://${jboss.bind.address}:4657/?dataType=jm
      s&serializationtype=jms&timeout=0&leasePeriod=20000&socket.check_connectio
      n=false&marshaller=org.jboss.jms.server.remoting.JMSWireFormat&unmarshaller=org.jb
      oss.jms.server.remoting.JMSWireFormat
      </delegate-config>

      </service-config>



      </service-bindings>

      The jboss-service.xml for atginstance1 is as follows:

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

      <!-- $Id: jboss-service.xml 38992 2005-12-13 15:29:35Z jerrygauth $
      -->

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



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


      <!-- ==================================================================== -->
      <!-- JSR-77 Single JBoss Server Management Domain -->
      <!-- ==================================================================== -->

      jboss.system:service=MainDeployer
      jboss.system:service=ServiceDeployer
      ;
      jboss.j2ee:service=EARDeployer
      jboss.ejb:service=EJBDeployer
      jboss.jca:service=RARDeployer
      jboss.jca:service=ConnectionFactoryDeployer</attribu
      te>
      jboss.web:service=WebServer
      jboss.j2ee:service=ClientDeployer
      jboss:service=Mail
      jboss.mq:service=DestinationManager
      jboss:service=Naming
      jboss:service=TransactionManager
      jboss:service=ClientUserTransaction</att
      ribute>
      jboss:service=CorbaORB


      <!-- ==================================================================== -->
      <!-- XMBean Persistence -->
      <!-- ==================================================================== -->

      <mbean code="org.jboss.system.pm.AttributePersistenceService"
      name="jboss:service=AttributePersistenceService"
      xmbean-dd="resource:xmdesc/AttributePersistenceService-xmbean.xml">
      <!-- the AttributePersistenceService is persistent, itself -->

      <!--
      org.jboss.system.pm.XMLAttributePersis
      tenceManager

      <data-directory>data/xmbean-attrs</data-directory>

      false

      -->


      <!-- A Thread pool service -->

      JBoss System Threads
      System Threads
      <!-- How long a thread will live without any tasks in MS -->
      60000
      <!-- The max number of threads in the pool -->
      10
      <!-- The max number of tasks before the queue is full -->
      1000
      <!-- The behavior of the pool when a task is added and the queue is full.
      abort - a RuntimeException is thrown
      run - the calling thread executes the task
      wait - the calling thread blocks until the queue has room
      discard - the task is silently discarded without being run
      discardOldest - check to see if a task is about to complete and enque
      the new task if possible, else run the task in the calling thread
      -->
      run


      <!-- Preload all custom editors for VMs that don't use the thread
      context class loader when searching for PropertyEditors. Uncomment
      if your JDK 1.3.0 VM fails to find JBoss PropertyEditors.


      java.math.BigDecimal=org.jboss.util.propertyeditor.BigDecimalEditor
      java.lang.Boolean=org.jboss.util.propertyeditor.BooleanEditor
      java.lang.Class=org.jboss.util.propertyeditor.ClassEditor
      java.util.Date=org.jboss.util.propertyeditor.DateEditor
      java.io.File=org.jboss.util.propertyeditor.FileEditor
      java.net.InetAddress=org.jboss.util.propertyeditor.InetAddressEditor
      java.lang.Integer=org.jboss.util.propertyeditor.IntegerEditor
      javax.management.ObjectName=org.jboss.mx.util.propertyeditor.ObjectNameEditor
      java.util.Properties=org.jboss.util.propertyeditor.PropertiesEditor
      [Ljava.lang.String;=org.jboss.util.propertyeditor.StringArrayEditor
      java.net.URL=org.jboss.util.propertyeditor.URLEditor


      -->

      <!-- ==================================================================== -->
      <!-- Log4j Initialization -->
      <!-- ==================================================================== -->

      <mbean code="org.jboss.logging.Log4jService"
      name="jboss.system:type=Log4jService,service=Logging"
      xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
      resource:log4j.xml
      <!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
      this needs to be set to avoid a possible deadlock on exception at the
      appender level. See bug#696819.
      -->
      true
      <!-- How frequently in seconds the ConfigurationURL is checked for changes
      -->
      60


      <!-- ==================================================================== -->
      <!-- Active Alarm Table -->
      <!-- ==================================================================== -->

      <!--
      | The ActiveAlarmTable service is a simple JMX notification listener
      | that maintains a table with the received notifications (alarms).
      | The alarms can be acknowledged through the jmx or the web console.
      | Modify the SubscriptionList below to subscribe for any notification
      | in the system and treat it as an alarm.
      | The JMXNotificationAppender is a log4j Appender that can be configured
      | in log4j.xml, that trasforms logging events to JMX notification so they
      | can be fed back into the table. By storing the WARN or higher level logging
      | events you can have a quick view of important system faults.
      |
      | The following attributes may be set:
      |
      | MaxTableSize (default 1000)
      | - set an upper limit to the number of stored alarms
      | LogLevel (default DEBUG)
      | - the log level to use for received notification, can be set to NONE
      | ServerId (default jboss)
      | - used to construct unique alarm ids
      | SubscriptionList
      | - subscribe for the notifications to be stored in the table



      <subscription-list>






      </subscription-list>


      -->

      <!-- ==================================================================== -->
      <!-- JBoss RMI Classloader - only install when available -->
      <!-- ==================================================================== -->

      java.rmi.server.RMIClassLoaderSpi
      org.jboss.system.JBossRMIClassLoader


      <!-- ==================================================================== -->
      <!-- Service Binding -->
      <!-- ==================================================================== -->

      <!-- Automatically activated when generatting the clustering environment -->
      <!-- @TESTSUITE_CLUSTER_CONFIG@ -->


      | Binding service manager for port/host mapping. This is a sample
      | config that demonstrates a JBoss instances with a server name 'ports-01'
      | loading its bindings from an XML file using the ServicesStoreFactory
      | implementation returned by the XMLServicesStoreFactory.
      |
      | ServerName: The unique name assigned to a JBoss server instance for
      | lookup purposes. This allows a single ServicesStore to handle mulitiple
      | JBoss servers.
      |
      | StoreURL: The URL string passed to org.jboss.services.binding.ServicesStore
      | during initialization that specifies how to connect to the bindings store.
      | StoreFactory: The org.jboss.services.binding.ServicesStoreFactory interface
      | implementation to create to obtain the ServicesStore instance.


      ${jboss.server.name}
      <!-- ${jboss.home.url}/docs/examples/binding-manager/sample-binding
      s.xml -->
      ${jboss.server.base.dir}/atginstance1-bindings.xml</attrib
      ute>


      org.jboss.services.binding.XMLServicesStoreFactory




      <!-- ==================================================================== -->
      <!-- Class Loading -->
      <!-- ==================================================================== -->


      8083
      <!-- Should non-EJB .class files be downloadable -->
      true
      <!-- Should resources other than .class files be downloadable. Both
      DownloadServerClasses and DownloadResources must be true for resources
      to be downloadable. This is false by default because its generally a
      bad idea as server configuration files that container security
      information can be accessed.
      -->
      false
      ${jboss.bind.address}
      ${jboss.bind.address}
      <!-- Use the default thread pool for dynamic class loading -->
      <depends optional-attribute-name="ThreadPool"

      proxy-type="attribute">jboss.system:service=ThreadPool


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

      <mbean code="org.jboss.naming.NamingService"
      name="jboss:service=Naming"
      xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
      <!-- The call by value mode. true if all lookups are unmarshalled using
      the caller's TCL, false if in VM lookups return the value by reference.
      -->
      false
      <!-- The listening port for the bootstrap JNP service. Set this to -1
      to run the NamingService without the JNP invoker listening port.
      -->
      1099
      <!-- The bootstrap JNP server bind address. This also sets the default
      RMI service bind address. Empty == all addresses
      -->
      ${jboss.bind.address}
      <!-- The port of the RMI naming service, 0 == anonymous -->
      1098
      <!-- The RMI service bind address. Empty == all addresses
      -->
      ${jboss.bind.address}
      <!-- The thread pool service used to control the bootstrap lookups -->
      <depends optional-attribute-name="LookupPool"

      proxy-type="attribute">jboss.system:service=ThreadPool


      <mbean code="org.jboss.naming.JNDIView"
      name="jboss:service=JNDIView"
      xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml">
      <!-- The HANamingService service name -->
      jboss:service=HAJNDI


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


      jboss.security:service=XMLLoginConfig</attribute
      2;


      login-config.xml


      <!-- JAAS security manager and realm mapping -->

      <!-- A flag which indicates whether the SecurityAssociation server mode
      is set on service creation. This is true by default since the
      SecurityAssociation should be thread local for multi-threaded server
      operation.
      -->
      true
      org.jboss.security.plugins.JaasSecurityManager

      anonymous
      <!-- DefaultCacheTimeout: Specifies the default timed cache policy timeout
      in seconds.
      If you want to disable caching of security credentials, set this to 0 to
      force authentication to occur every time. This has no affect if the
      AuthenticationCacheJndiName has been changed from the default value.
      -->
      1800
      <!-- DefaultCacheResolution: Specifies the default timed cache policy
      resolution in seconds. This controls the interval at which the cache
      current timestamp is updated and should be less than the DefaultCacheTimeout
      in order for the timeout to be meaningful. This has no affect if the
      AuthenticationCacheJndiName has been changed from the default value.
      -->
      60


      <!-- ==================================================================== -->
      <!-- Transactions -->
      <!-- ==================================================================== -->
      <!-- The configurable Xid factory. For use with Oracle, set pad to true -->

      <!--attribute name="Pad">true</attribute-->


      <!--
      | The fast in-memory transaction manager.
      -->
      <mbean code="org.jboss.tm.TransactionManagerService"
      name="jboss:service=TransactionManager"
      xmbean-dd="resource:xmdesc/TransactionManagerService-xmbean.xml">
      300
      <!-- set to false to disable transaction demarcation over IIOP -->
      true
      <depends
      optional-attribute-name="XidFactory">jboss:service=XidFactory

      <!-- Transaction Integrity Checking -->
      <!-- Force a rollback if another thread is associated with the transaction at
      commit -->
      <!--depends optional-attribute-name="TransactionIntegrityFactory"

      proxy-type="org.jboss.tm.integrity.TransactionIntegrityFactory">

      </depends-->

      <!--
      | UserTransaction support.
      -->
      <mbean code="org.jboss.tm.usertx.server.ClientUserTransactionService"
      name="jboss:service=ClientUserTransaction"
      xmbean-dd="resource:xmdesc/ClientUserTransaction-xmbean.xml">


      jboss:service=invoker,type=jrmp
      jboss:service=ClientUserTransaction
      UserTransactionSessionFactory
      org.jboss.tm.usertx.interfaces.UserTransactionSession
      Factory



      org.jboss.proxy.ClientMethodInterceptor

      org.jboss.invocation.InvokerInterceptor


      jboss:service=invoker,type=jrmp


      <depends optional-attribute-name="TxProxyName">

      jboss:service=invoker,type=jrmp
      jboss:service=ClientUserTransaction

      org.jboss.tm.usertx.interfaces.UserTransactionSession




      org.jboss.proxy.ClientMethodInterceptor

      org.jboss.invocation.InvokerInterceptor


      jboss:service=invoker,type=jrmp




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

      <!-- RMI/JRMP invoker -->

      4444
      ${jboss.bind.address}
      <!--
      custom
      custom
      custom
      ssl-domain-name
      -->
      jboss:service=TransactionManager




      jboss:service=TransactionManager



      1
      300
      300
      60000
      ${jboss.bind.address}
      4445
      ${jboss.bind.address}
      0
      1
      false

      <!-- Customized socket factory attributes
      custom.client.factory
      custom.server.factory
      java:/jaas/pooledInvoker
      -->
      <depends
      optional-attribute-name="TransactionManagerService">jboss:service=Transact
      ionManager


      <!-- ==================================================================== -->
      <!-- Monitoring and Management -->
      <!-- ==================================================================== -->

      <!-- Uncomment to enable JMX monitoring of the bean cache

      -->

      <!-- Uncomment to enable JMX monitoring of the entity bean locking

      -->

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



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

      <!-- An mbean for hot deployment/undeployment of archives.
      -->


      <!-- Uncomment (and comment/remove version below) to enable usage of the
      DeploymentCache
      <depends
      optional-attribute-name="Deployer">jboss.deployment:type=DeploymentCache&#
      60;/depends>
      -->
      <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 first, and they will be sorted by
      extension as above with DeploymentSorter.
      -->
      org.jboss.deployment.DeploymentSorter

      <!--
      org.jboss.deployment.scanner.PrefixDeploymentSorter</
      attribute>
      -->



      <!-- Frequency in milliseconds to rescan the URLs for changes -->
      5000

      <!-- A flag to disable the scans -->
      true


      deploy/


      <!-- Indicates if the scanner should recursively scan directories that
      contain no "." in their names. This can be used to group applications
      and services that must be deployed and that have the same
      logical function in the same directory i.e.
      deploy/JMX/
      deploy/JMS/
      ...
      -->
      True





      The jboss-service for atginstance2 is as follows:
      <?xml version="1.0" encoding="UTF-8"?>

      <!-- $Id: jboss-service.xml 38992 2005-12-13 15:29:35Z jerrygauth $
      -->

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



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


      <!-- ==================================================================== -->
      <!-- JSR-77 Single JBoss Server Management Domain -->
      <!-- ==================================================================== -->

      jboss.system:service=MainDeployer
      jboss.system:service=ServiceDeployer
      ;
      jboss.j2ee:service=EARDeployer
      jboss.ejb:service=EJBDeployer
      jboss.jca:service=RARDeployer
      jboss.jca:service=ConnectionFactoryDeployer</attribu
      te>
      jboss.web:service=WebServer
      jboss.j2ee:service=ClientDeployer
      jboss:service=Mail
      jboss.mq:service=DestinationManager
      jboss:service=Naming
      jboss:service=TransactionManager
      jboss:service=ClientUserTransaction</att
      ribute>
      jboss:service=CorbaORB


      <!-- ==================================================================== -->
      <!-- XMBean Persistence -->
      <!-- ==================================================================== -->

      <mbean code="org.jboss.system.pm.AttributePersistenceService"
      name="jboss:service=AttributePersistenceService"
      xmbean-dd="resource:xmdesc/AttributePersistenceService-xmbean.xml">
      <!-- the AttributePersistenceService is persistent, itself -->

      <!--
      org.jboss.system.pm.XMLAttributePersis
      tenceManager

      <data-directory>data/xmbean-attrs</data-directory>

      false

      -->


      <!-- A Thread pool service -->

      JBoss System Threads
      System Threads
      <!-- How long a thread will live without any tasks in MS -->
      60000
      <!-- The max number of threads in the pool -->
      10
      <!-- The max number of tasks before the queue is full -->
      1000
      <!-- The behavior of the pool when a task is added and the queue is full.
      abort - a RuntimeException is thrown
      run - the calling thread executes the task
      wait - the calling thread blocks until the queue has room
      discard - the task is silently discarded without being run
      discardOldest - check to see if a task is about to complete and enque
      the new task if possible, else run the task in the calling thread
      -->
      run


      <!-- Preload all custom editors for VMs that don't use the thread
      context class loader when searching for PropertyEditors. Uncomment
      if your JDK 1.3.0 VM fails to find JBoss PropertyEditors.


      java.math.BigDecimal=org.jboss.util.propertyeditor.BigDecimalEditor
      java.lang.Boolean=org.jboss.util.propertyeditor.BooleanEditor
      java.lang.Class=org.jboss.util.propertyeditor.ClassEditor
      java.util.Date=org.jboss.util.propertyeditor.DateEditor
      java.io.File=org.jboss.util.propertyeditor.FileEditor
      java.net.InetAddress=org.jboss.util.propertyeditor.InetAddressEditor
      java.lang.Integer=org.jboss.util.propertyeditor.IntegerEditor
      javax.management.ObjectName=org.jboss.mx.util.propertyeditor.ObjectNameEditor
      java.util.Properties=org.jboss.util.propertyeditor.PropertiesEditor
      [Ljava.lang.String;=org.jboss.util.propertyeditor.StringArrayEditor
      java.net.URL=org.jboss.util.propertyeditor.URLEditor


      -->

      <!-- ==================================================================== -->
      <!-- Log4j Initialization -->
      <!-- ==================================================================== -->

      <mbean code="org.jboss.logging.Log4jService"
      name="jboss.system:type=Log4jService,service=Logging"
      xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
      resource:log4j.xml
      <!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
      this needs to be set to avoid a possible deadlock on exception at the
      appender level. See bug#696819.
      -->
      true
      <!-- How frequently in seconds the ConfigurationURL is checked for changes
      -->
      60


      <!-- ==================================================================== -->
      <!-- Active Alarm Table -->
      <!-- ==================================================================== -->

      <!--
      | The ActiveAlarmTable service is a simple JMX notification listener
      | that maintains a table with the received notifications (alarms).
      | The alarms can be acknowledged through the jmx or the web console.
      | Modify the SubscriptionList below to subscribe for any notification
      | in the system and treat it as an alarm.
      | The JMXNotificationAppender is a log4j Appender that can be configured
      | in log4j.xml, that trasforms logging events to JMX notification so they
      | can be fed back into the table. By storing the WARN or higher level logging
      | events you can have a quick view of important system faults.
      |
      | The following attributes may be set:
      |
      | MaxTableSize (default 1000)
      | - set an upper limit to the number of stored alarms
      | LogLevel (default DEBUG)
      | - the log level to use for received notification, can be set to NONE
      | ServerId (default jboss)
      | - used to construct unique alarm ids
      | SubscriptionList
      | - subscribe for the notifications to be stored in the table



      <subscription-list>






      </subscription-list>


      -->

      <!-- ==================================================================== -->
      <!-- JBoss RMI Classloader - only install when available -->
      <!-- ==================================================================== -->

      java.rmi.server.RMIClassLoaderSpi
      org.jboss.system.JBossRMIClassLoader


      <!-- ==================================================================== -->
      <!-- Service Binding -->
      <!-- ==================================================================== -->

      <!-- Automatically activated when generatting the clustering environment -->
      <!-- @TESTSUITE_CLUSTER_CONFIG@ -->


      | Binding service manager for port/host mapping. This is a sample
      | config that demonstrates a JBoss instances with a server name 'ports-01'
      | loading its bindings from an XML file using the ServicesStoreFactory
      | implementation returned by the XMLServicesStoreFactory.
      |
      | ServerName: The unique name assigned to a JBoss server instance for
      | lookup purposes. This allows a single ServicesStore to handle mulitiple
      | JBoss servers.
      |
      | StoreURL: The URL string passed to org.jboss.services.binding.ServicesStore
      | during initialization that specifies how to connect to the bindings store.
      | StoreFactory: The org.jboss.services.binding.ServicesStoreFactory interface
      | implementation to create to obtain the ServicesStore instance.

      <!-- ${jboss.server.name} -->


      atginstance2
      <!-- ${jboss.home.url}/docs/examples/binding-manager/sample-binding
      s.xml -->
      ${jboss.server.base.dir}/atginstance2-bindings.xml</attrib
      ute>

      org.jboss.services.binding.XMLServicesStoreFactory




      <!-- ==================================================================== -->
      <!-- Class Loading -->
      <!-- ==================================================================== -->

      18083
      <!-- Should non-EJB .class files be downloadable -->
      true
      <!-- Should resources other than .class files be downloadable. Both
      DownloadServerClasses and DownloadResources must be true for resources
      to be downloadable. This is false by default because its generally a
      bad idea as server configuration files that container security
      information can be accessed.
      -->
      false
      ${jboss.bind.address}
      ${jboss.bind.address}
      <!-- Use the default thread pool for dynamic class loading -->
      <depends optional-attribute-name="ThreadPool"

      proxy-type="attribute">jboss.system:service=ThreadPool


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

      <mbean code="org.jboss.naming.NamingService"
      name="jboss:service=Naming"
      xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
      <!-- The call by value mode. true if all lookups are unmarshalled using
      the caller's TCL, false if in VM lookups return the value by reference.
      -->
      false
      <!-- The listening port for the bootstrap JNP service. Set this to -1
      to run the NamingService without the JNP invoker listening port.
      -->
      11099
      <!-- The bootstrap JNP server bind address. This also sets the default
      RMI service bind address. Empty == all addresses
      -->
      ${jboss.bind.address}
      <!-- The port of the RMI naming service, 0 == anonymous -->
      11098
      <!-- The RMI service bind address. Empty == all addresses
      -->
      ${jboss.bind.address}
      <!-- The thread pool service used to control the bootstrap lookups -->
      <depends optional-attribute-name="LookupPool"

      proxy-type="attribute">jboss.system:service=ThreadPool


      <mbean code="org.jboss.naming.JNDIView"
      name="jboss:service=JNDIView"
      xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml">
      <!-- The HANamingService service name -->
      jboss:service=HAJNDI


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


      jboss.security:service=