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>