DPML
DPML Metro Component Categories Datatype
HomeUtilitiesStationMetro
Parts
Description

A <parts> elements enables the declaration of 0..n nested components.

Part Nested Elements
component 0..n nested components.
Example

The following component defines an HHTP server deployment profile made up of a collection in internal parts.

  <target name="build" depends="standard.build">

    <depot:plugin uri="link:plugin:dpml/metro/dpml-metro-tools" urn="metro"/>

    <component xmlns="metro" type="net.dpml.http.Server" lifestyle="singleton">
      <parts>
        <!-- 
        Add a select channel connector to 8080.
        -->
        <component key="plain" type="net.dpml.http.SelectChannelConnector">
          <context>
            <entry key="port" value="8080"/>
            <entry key="maxIdleTime" value="50000"/>
            <entry key="acceptors" value="10"/>
          </context>
        </component>
        <!--
        Add a SSL connector to 8443.
        -->
        <component key="ssl" type="net.dpml.http.SslSocketConnector">
          <context>
            <entry key="port" value="8443"/>
            <entry key="maxIdleTime" value="30000"/>
            <entry key="keystore" value="local:keystore:dpml/planet/http/jetty"/>
            <entry key="password" value="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/>
            <entry key="keyPassword" value="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/>
          </context>
        </component>
        <!--
        Add a user realm.
        -->
        <component key="realm" type="net.dpml.http.HashUserRealm">
          <context>
            <entry key="name" value="Test Realm"/>
            <entry key="URI" value="local:properties:dpml/planet/http/realm"/>
          </context>
        </component>
        <!--
        Add a web application.
        -->
        <component key="webapp" type="net.dpml.http.WebAppContextHandler">
          <context>
            <entry key="contextPath" value="/"/>
            <entry key="war" value="link:war:dpml/planet/http/dpml-http-app"/>
          </context>
        </component>
        <!--
        Creation of a HTTP server configured to present static content in 
        the ${dpml.share}/docs directory.
        -->
        <component key="context" type="net.dpml.http.ResourceContextHandler">
          <context>
            <entry key="resourceBase" value="$${dpml.share}/docs"/>
            <entry key="contextPath" value="/docs"/>
          </context>
        </component>
        <!--
        Add an experimental servlet context.
        -->
        <component key="servlets" type="net.dpml.http.ServletContextHandler">
          <context>
            <entry key="resourceBase" value="$${dpml.data}"/>
            <entry key="contextPath" value="/data"/>
          </context>
          <configuration>
            <servlets>
              <servlet name="data" class="org.mortbay.jetty.servlet.DefaultServlet"/>
            </servlets>
            <mappings>
              <map servlet="data" path="/"/>
            </mappings>
          </configuration>
        </component>
      </parts>
    </component>