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.
<component xmlns="link:xsd:dpml/lang/dpml-component#1.0"
type="net.dpml.http.Server"
alias="true">
<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.
(Need to add context cloassloader configuration but this requires
per-component threads - currently limited to classes declared within
the part classloader).
-->
<component key="servlets" type="net.dpml.http.ServletContextHandler">
<context>
<entry key="resourceBase" value="${dpml.data}"/>
<entry key="contextPath" value="/data"/>
<entry key="servletHolders">
<param class="net.dpml.http.ServletHolder">
<param value="data"/>
<param value="org.mortbay.jetty.servlet.DefaultServlet"/>
</param>
</entry>
<entry key="servletEntries">
<param class="net.dpml.http.ServletEntry">
<param value="data"/>
<param value="/"/>
</param>
</entry>
</context>
</component>
</parts>
</component>