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>