<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">

  <!-- =========================================================== -->
  <!-- Set the java.rmi.server.hostname property in case you've    -->
  <!-- got a misconfigured /etc/hosts entry or the like.           -->
  <!-- =========================================================== -->
  <!--
  <Call class="java.lang.System" name="setProperty">
    <Arg>java.rmi.server.hostname</Arg>
    <Arg>127.0.0.1</Arg>
  </Call>
  -->

  <!-- =========================================================== -->
  <!-- Get the platform mbean server                               -->
  <!-- =========================================================== -->
  <Call id="MBeanServer" class="java.lang.management.ManagementFactory"
    name="getPlatformMBeanServer" />

  <!-- =========================================================== -->
  <!-- Initialize the Jetty MBean container -->
  <!-- =========================================================== -->
  <Call name="addBean">
    <Arg>
      <New id="MBeanContainer" class="org.eclipse.jetty.jmx.MBeanContainer">
        <Arg>
          <Ref refid="MBeanServer" />
        </Arg>
      </New>
    </Arg>
  </Call>

  <!-- Add the static log -->
  <Call name="addBean">
    <Arg>
      <New class="org.eclipse.jetty.util.log.Log" />
    </Arg>
  </Call>

  <!-- In order to connect to the JMX server remotely from a different
       process, possibly running on a different host, Jetty JMX module
       can create a remote JMX connector. It requires RMI registry to
       be started prior to creating the connector server because the
       JMX specification uses RMI to facilitate connections.
   -->

  <!-- Optionally start the RMI registry. Normally RMI registry runs on
       port 1099. The argument below can be changed in order to comply
       with the firewall requirements.
  -->
  <!--
  <Call name="createRegistry" class="java.rmi.registry.LocateRegistry">
    <Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1099"/></Arg>
    <Call name="sleep" class="java.lang.Thread">
       <Arg type="java.lang.Integer">1000</Arg>
    </Call>
  </Call>
  -->

  <!-- Optionally add a remote JMX connector. The parameters of the constructor
       below specify the JMX service URL, and the object name string for the
       connector server bean. The parameters of the JMXServiceURL constructor
       specify the protocol that clients will use to connect to the remote JMX
       connector (RMI), the hostname of the server (local hostname), port number
       (automatically assigned), and the URL path. Note that URL path contains
       the RMI registry hostname and port number, that may need to be modified
       in order to comply with the firewall requirements.
  -->
  <!--
  <New id="ConnectorServer" class="org.eclipse.jetty.jmx.ConnectorServer">
    <Arg>
      <New class="javax.management.remote.JMXServiceURL">
        <Arg type="java.lang.String">rmi</Arg>
        <Arg type="java.lang.String" />
        <Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1099"/></Arg>
        <Arg type="java.lang.String">/jndi/rmi://<SystemProperty name="jetty.jmxrmihost" default="localhost"/>:<SystemProperty name="jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg>
      </New>
    </Arg>
    <Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg>
    <Call name="start" />
  </New>
  -->
</Configure>

