[jboss-cvs] JBossAS SVN: r66897 - projects/docs/trunk/Server_Configuration_Guide/en-US.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 9 00:09:10 EST 2007


Author: skittoli at redhat.com
Date: 2007-11-09 00:09:10 -0500 (Fri, 09 Nov 2007)
New Revision: 66897

Modified:
   projects/docs/trunk/Server_Configuration_Guide/en-US/Author_Group.xml
   projects/docs/trunk/Server_Configuration_Guide/en-US/Book_Info.xml
   projects/docs/trunk/Server_Configuration_Guide/en-US/J2EE_EJBs_On_JBOSS.xml
   projects/docs/trunk/Server_Configuration_Guide/en-US/Server_Configuration_Guide.xml
Log:
major changes to scg

Modified: projects/docs/trunk/Server_Configuration_Guide/en-US/Author_Group.xml
===================================================================
--- projects/docs/trunk/Server_Configuration_Guide/en-US/Author_Group.xml	2007-11-09 03:01:00 UTC (rev 66896)
+++ projects/docs/trunk/Server_Configuration_Guide/en-US/Author_Group.xml	2007-11-09 05:09:10 UTC (rev 66897)
@@ -1,5 +1,64 @@
 <?xml version='1.0'?>
 <!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
+<authorgroup>
+	<author>
+		<firstname>Andreadis</firstname>
+		<surname>Dimitris</surname>
+		<!--<affiliation>
+			<shortaffil></shortaffil>
+			<jobtitle></jobtitle>
+			<orgname>Red Hat</orgname>
+		</affiliation>-->
+	</author>
+	
+	<author>
+		<firstname>Carlo</firstname>
+		<surname>de Wolf</surname>
+		<!--<affiliation>
+			<shortaffil></shortaffil>
+			<jobtitle></jobtitle>
+			<orgname>Red Hat</orgname>
+		</affiliation>-->
+	</author>
+	
+	<author>
+		<firstname>Michael</firstname>
+		<surname>Yuan</surname>
+	<!--	<affiliation>
+			<shortaffil></shortaffil>
+			<jobtitle></jobtitle>
+			<orgname></orgname>
+		</affiliation>-->
+	</author>
+	
+	<author>
+		<firstname>Shelly</firstname>
+		<surname>Mc Gowan</surname>
+		<!--<affiliation>
+			<shortaffil></shortaffil>
+			<jobtitle></jobtitle>
+			<orgname>Red Hat</orgname>
+		</affiliation>-->
+	</author>
+			
+	<author>
+		<firstname>Thomas</firstname>
+		<surname>Diesler</surname>
+		<!--<affiliation>
+			<shortaffil></shortaffil>
+			<jobtitle></jobtitle>
+			<orgname>Red Hat</orgname>
+		</affiliation>-->
+	</author>
 
-<authorgroup><corpauthor> JBoss Community Documentation Project </corpauthor></authorgroup>
+	<editor>
+		<firstname>Samson</firstname>
+		<surname>Kittoli</surname>
+	<!--	<affiliation>
+			<shortaffil></shortaffil>
+			<jobtitle></jobtitle>
+			<orgname>Red Hat</orgname>
+		</affiliation>-->
+	</editor>
+</authorgroup>
\ No newline at end of file

Modified: projects/docs/trunk/Server_Configuration_Guide/en-US/Book_Info.xml
===================================================================
--- projects/docs/trunk/Server_Configuration_Guide/en-US/Book_Info.xml	2007-11-09 03:01:00 UTC (rev 66896)
+++ projects/docs/trunk/Server_Configuration_Guide/en-US/Book_Info.xml	2007-11-09 05:09:10 UTC (rev 66897)
@@ -13,27 +13,8 @@
 			This book is a guide to the configuration of the JBoss Application Server.
 		</para>
 	</abstract>
-	<isbn>N/A</isbn>
-	<!--mediaobject>
-		<imageobject>
-			<imagedata fileref="Common_Content/images/rhlogo-chapter-title.png" />
-		</imageobject>
-	</mediaobject>
-	<publisher>
-		<publishername>
-			<inlinemediaobject>
-				<imageobject>
-					<imagedata fileref="Common_Content/images/rhlogo-title.png" />
-				</imageobject>
-			</inlinemediaobject>
-		</publishername>
-	</publisher-->
-	<!--<copyright>
-		<year>&YEAR;</year>
-		<holder>&FORMAL-RHI;</holder>
-	</copyright>-->
-	<!--xi:include href="Common_Content/Boilerplate.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /-->
+	<subtitle>Authors</subtitle>
 	<xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+<!--	<xi:include href="Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />-->
 </bookinfo>
 

Modified: projects/docs/trunk/Server_Configuration_Guide/en-US/J2EE_EJBs_On_JBOSS.xml
===================================================================
--- projects/docs/trunk/Server_Configuration_Guide/en-US/J2EE_EJBs_On_JBOSS.xml	2007-11-09 03:01:00 UTC (rev 66896)
+++ projects/docs/trunk/Server_Configuration_Guide/en-US/J2EE_EJBs_On_JBOSS.xml	2007-11-09 05:09:10 UTC (rev 66897)
@@ -1,6 +1,6 @@
 <?xml version='1.0'?>
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-]>
+	  ]>
 
 <chapter id="EJBs_on_JBoss">
 	<title>EJBs on JBoss</title>
@@ -90,48 +90,48 @@
 			The configuration of the client side interceptors is done using the <literal>jboss.xml</literal><literal>client-interceptors</literal> element. When the <literal>ClientContainer</literal> invoke method is called it creates an untyped <literal>Invocation</literal> (<literal>org.jboss.invocation.Invocation</literal>) to encapsulate request. This is then passed through the interceptor chain. The last interceptor in the chain will be the transport handler that knows how to send the request to the server and obtain the reply, taking care of the transport specific details.
 		</para>
 		<para>
-			As an example of the client interceptor configuration usage, consider the default stateless session bean configuration found in the <literal>server/production/standardjboss.xml</literal> descriptor. <xref linkend="The_EJB_Client_Side_View-The_client_interceptors_from_the_Standard_Stateless_SessionBean_configuration." /> shows the <literal>stateless-rmi-invoker</literal> client interceptors configuration referenced by the Standard Stateless SessionBean.
+			As an example of the client interceptor configuration usage, consider the default stateless session bean configuration found in the <literal>server/default/standardjboss.xml</literal> descriptor. <xref linkend="The_EJB_Client_Side_View-The_client_interceptors_from_the_Standard_Stateless_SessionBean_configuration." /> shows the <literal>stateless-rmi-invoker</literal> client interceptors configuration referenced by the Standard Stateless SessionBean.
 		</para>
 		<example id="The_EJB_Client_Side_View-The_client_interceptors_from_the_Standard_Stateless_SessionBean_configuration."><title>The client-interceptors from the Standard Stateless SessionBean configuration.</title>
-<programlisting>&lt;invoker-proxy-binding&gt;
-    &lt;name&gt;stateless-rmi-invoker&lt;/name&gt;
-    &lt;invoker-mbean&gt;jboss:service=invoker,type=jrmp&lt;/invoker-mbean&gt;
-    &lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactory&lt;/proxy-factory&gt;
-        &lt;proxy-factory-config&gt;
-        &lt;client-interceptors&gt;
-            &lt;home&gt;
-                &lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
-                &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                &lt;interceptor call-by-value="false"&gt;
-                    org.jboss.invocation.InvokerInterceptor
-                &lt;/interceptor&gt;
-                &lt;interceptor call-by-value="true"&gt;
-                    org.jboss.invocation.MarshallingInvokerInterceptor
-                &lt;/interceptor&gt;
-            &lt;/home&gt;
-            &lt;bean&gt;
-                &lt;interceptor&gt;org.jboss.proxy.ejb.StatelessSessionInterceptor&lt;/interceptor&gt;
-                &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                &lt;interceptor call-by-value="false"&gt;
-                    org.jboss.invocation.InvokerInterceptor
-                &lt;/interceptor&gt;
-                &lt;interceptor call-by-value="true"&gt;
-                    org.jboss.invocation.MarshallingInvokerInterceptor
-                &lt;/interceptor&gt;
-            &lt;/bean&gt;
-        &lt;/client-interceptors&gt;
-    &lt;/proxy-factory-config&gt;
-&lt;/invoker-proxy-binding&gt;           
-</programlisting>
-<programlisting>&lt;container-configuration&gt;
-    &lt;container-name&gt;Standard Stateless SessionBean&lt;/container-name&gt;
-    &lt;call-logging&gt;false&lt;/call-logging&gt;
-    &lt;invoker-proxy-binding-name&gt;stateless-rmi-invoker&lt;/invoker-proxy-binding-name&gt;
-    &lt;!-- ... --&gt;
-&lt;/container-configuration&gt;
-</programlisting>
+			<programlisting>&lt;invoker-proxy-binding&gt;
+				&lt;name&gt;stateless-rmi-invoker&lt;/name&gt;
+				&lt;invoker-mbean&gt;jboss:service=invoker,type=jrmp&lt;/invoker-mbean&gt;
+				&lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactory&lt;/proxy-factory&gt;
+				&lt;proxy-factory-config&gt;
+				&lt;client-interceptors&gt;
+				&lt;home&gt;
+				&lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="false"&gt;
+				org.jboss.invocation.InvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="true"&gt;
+				org.jboss.invocation.MarshallingInvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;/home&gt;
+				&lt;bean&gt;
+				&lt;interceptor&gt;org.jboss.proxy.ejb.StatelessSessionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="false"&gt;
+				org.jboss.invocation.InvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="true"&gt;
+				org.jboss.invocation.MarshallingInvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;/bean&gt;
+				&lt;/client-interceptors&gt;
+				&lt;/proxy-factory-config&gt;
+				&lt;/invoker-proxy-binding&gt;           
+			</programlisting>
+			<programlisting>&lt;container-configuration&gt;
+				&lt;container-name&gt;Standard Stateless SessionBean&lt;/container-name&gt;
+				&lt;call-logging&gt;false&lt;/call-logging&gt;
+				&lt;invoker-proxy-binding-name&gt;stateless-rmi-invoker&lt;/invoker-proxy-binding-name&gt;
+				&lt;!-- ... --&gt;
+				&lt;/container-configuration&gt;
+			</programlisting>
 		</example><para>
 			This is the client interceptor configuration for stateless session beans that is used in the absence of an EJB JAR <literal>META-INF/jboss.xml</literal> configuration that overrides these settings. The functionality provided by each client interceptor is:
 		</para>
@@ -303,44 +303,44 @@
 			<para>
 				The following <literal>proxy-factory-config</literal> is for an entity bean accessed over RMI.
 			</para>
-<programlisting>&lt;proxy-factory-config&gt;
-    &lt;client-interceptors&gt;
-        &lt;home&gt;
-            &lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
-            &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-            &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-            &lt;interceptor call-by-value="false"&gt;
-                org.jboss.invocation.InvokerInterceptor
-            &lt;/interceptor&gt;
-            &lt;interceptor call-by-value="true"&gt;
-                org.jboss.invocation.MarshallingInvokerInterceptor
-            &lt;/interceptor&gt;
-        &lt;/home&gt;
-        &lt;bean&gt;
-            &lt;interceptor&gt;org.jboss.proxy.ejb.EntityInterceptor&lt;/interceptor&gt;
-            &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-            &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-            &lt;interceptor call-by-value="false"&gt;
-                org.jboss.invocation.InvokerInterceptor
-            &lt;/interceptor&gt;
-            &lt;interceptor call-by-value="true"&gt;
-                org.jboss.invocation.MarshallingInvokerInterceptor
-            &lt;/interceptor&gt;
-        &lt;/bean&gt;
-        &lt;list-entity&gt;
-            &lt;interceptor&gt;org.jboss.proxy.ejb.ListEntityInterceptor&lt;/interceptor&gt;
-            &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-            &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-            &lt;interceptor call-by-value="false"&gt;
-                org.jboss.invocation.InvokerInterceptor
-            &lt;/interceptor&gt;
-            &lt;interceptor call-by-value="true"&gt;
-                org.jboss.invocation.MarshallingInvokerInterceptor
-            &lt;/interceptor&gt;
-        &lt;/list-entity&gt;
-    &lt;/client-interceptors&gt;
-&lt;/proxy-factory-config&gt;
-</programlisting>
+			<programlisting>&lt;proxy-factory-config&gt;
+				&lt;client-interceptors&gt;
+				&lt;home&gt;
+				&lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="false"&gt;
+				org.jboss.invocation.InvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="true"&gt;
+				org.jboss.invocation.MarshallingInvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;/home&gt;
+				&lt;bean&gt;
+				&lt;interceptor&gt;org.jboss.proxy.ejb.EntityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="false"&gt;
+				org.jboss.invocation.InvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="true"&gt;
+				org.jboss.invocation.MarshallingInvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;/bean&gt;
+				&lt;list-entity&gt;
+				&lt;interceptor&gt;org.jboss.proxy.ejb.ListEntityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="false"&gt;
+				org.jboss.invocation.InvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;interceptor call-by-value="true"&gt;
+				org.jboss.invocation.MarshallingInvokerInterceptor
+				&lt;/interceptor&gt;
+				&lt;/list-entity&gt;
+				&lt;/client-interceptors&gt;
+				&lt;/proxy-factory-config&gt;
+			</programlisting>
 			<para>
 				For the RMI/IIOP specific proxy factory, <literal>org.jboss.proxy.ejb.IORFactory</literal>, the following elements apply:
 			</para>
@@ -374,13 +374,13 @@
 			<para>
 				The following shows a <literal>proxy-factory-config</literal> for EJBs accessed over IIOP.
 			</para>
-<programlisting>&lt;proxy-factory-config&gt;
-    &lt;web-class-loader&gt;org.jboss.iiop.WebCL&lt;/web-class-loader&gt;
-    &lt;poa&gt;per-servant&lt;/poa&gt;
-    &lt;register-ejbs-in-jnp-context&gt;true&lt;/register-ejbs-in-jnp-context&gt;
-    &lt;jnp-context&gt;iiop&lt;/jnp-context&gt;
-&lt;/proxy-factory-config&gt; 
-</programlisting>
+			<programlisting>&lt;proxy-factory-config&gt;
+				&lt;web-class-loader&gt;org.jboss.iiop.WebCL&lt;/web-class-loader&gt;
+				&lt;poa&gt;per-servant&lt;/poa&gt;
+				&lt;register-ejbs-in-jnp-context&gt;true&lt;/register-ejbs-in-jnp-context&gt;
+				&lt;jnp-context&gt;iiop&lt;/jnp-context&gt;
+				&lt;/proxy-factory-config&gt; 
+			</programlisting>
 			<para>
 				For the JMS specific proxy factory, <literal>org.jboss.ejb.plugins.jms.JMSContainerInvoker</literal>, the following elements apply:
 			</para>
@@ -442,26 +442,26 @@
 				<xref linkend="Specifying_the_EJB_Proxy_Configuration-A_sample_JMSContainerInvoker_proxy_factory_config" /> gives a sample <literal>proxy-factory-config</literal> fragment taken from the <literal>standardjboss.xml</literal> descriptor.
 			</para>
 			<example id="Specifying_the_EJB_Proxy_Configuration-A_sample_JMSContainerInvoker_proxy_factory_config"><title>A sample JMSContainerInvoker proxy-factory-config</title>
-<programlisting>&lt;proxy-factory-config&gt;
-    &lt;JMSProviderAdapterJNDI&gt;DefaultJMSProvider&lt;/JMSProviderAdapterJNDI&gt;
-    &lt;ServerSessionPoolFactoryJNDI&gt;StdJMSPool&lt;/ServerSessionPoolFactoryJNDI&gt;
-    &lt;MinimumSize&gt;1&lt;/MinimumSize&gt;
-    &lt;MaximumSize&gt;15&lt;/MaximumSize&gt;
-    &lt;KeepAliveMillis&gt;30000&lt;/KeepAliveMillis&gt;
-    &lt;MaxMessages&gt;1&lt;/MaxMessages&gt;
-    &lt;MDBConfig&gt;
-        &lt;ReconnectIntervalSec&gt;10&lt;/ReconnectIntervalSec&gt;
-        &lt;DLQConfig&gt;
-            &lt;DestinationQueue&gt;queue/DLQ&lt;/DestinationQueue&gt;
-            &lt;MaxTimesRedelivered&gt;10&lt;/MaxTimesRedelivered&gt;
-            &lt;TimeToLive&gt;0&lt;/TimeToLive&gt;
-        &lt;/DLQConfig&gt;
-    &lt;/MDBConfig&gt;
-&lt;/proxy-factory-config&gt;
-</programlisting>
+				<programlisting>&lt;proxy-factory-config&gt;
+					&lt;JMSProviderAdapterJNDI&gt;DefaultJMSProvider&lt;/JMSProviderAdapterJNDI&gt;
+					&lt;ServerSessionPoolFactoryJNDI&gt;StdJMSPool&lt;/ServerSessionPoolFactoryJNDI&gt;
+					&lt;MinimumSize&gt;1&lt;/MinimumSize&gt;
+					&lt;MaximumSize&gt;15&lt;/MaximumSize&gt;
+					&lt;KeepAliveMillis&gt;30000&lt;/KeepAliveMillis&gt;
+					&lt;MaxMessages&gt;1&lt;/MaxMessages&gt;
+					&lt;MDBConfig&gt;
+					&lt;ReconnectIntervalSec&gt;10&lt;/ReconnectIntervalSec&gt;
+					&lt;DLQConfig&gt;
+					&lt;DestinationQueue&gt;queue/DLQ&lt;/DestinationQueue&gt;
+					&lt;MaxTimesRedelivered&gt;10&lt;/MaxTimesRedelivered&gt;
+					&lt;TimeToLive&gt;0&lt;/TimeToLive&gt;
+					&lt;/DLQConfig&gt;
+					&lt;/MDBConfig&gt;
+					&lt;/proxy-factory-config&gt;
+				</programlisting>
 			</example>
 		</section>
-
+		
 	</section>
 	
 	<section id="EJBs_on_JBoss-The_EJB_Server_Side_View">
@@ -491,138 +491,138 @@
 			<para>
 				An example of using a custom <literal>JRMPInvoker</literal> MBean that enables compressed sockets for session beans can be found in the <literal>org.jboss.test.jrmp</literal> package of the testsuite. The following example illustrates the custom <literal>JRMPInvoker</literal> configuration and its mapping to a stateless session bean.
 			</para>
-<programlisting>&lt;server&gt;
-    &lt;mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"
-          name="jboss:service=invoker,type=jrmp,socketType=CompressionSocketFactory"&gt;
-        &lt;attribute name="RMIObjectPort"&gt;4445&lt;/attribute&gt;
-        &lt;attribute name="RMIClientSocketFactory"&gt;
-            org.jboss.test.jrmp.ejb.CompressionClientSocketFactory
-        &lt;/attribute&gt;
-        &lt;attribute name="RMIServerSocketFactory"&gt;
-            org.jboss.test.jrmp.ejb.CompressionServerSocketFactory
-        &lt;/attribute&gt;
-&lt;/mbean&gt;
-                &lt;/server&gt;
-</programlisting>
+			<programlisting>&lt;server&gt;
+				&lt;mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"
+				name="jboss:service=invoker,type=jrmp,socketType=CompressionSocketFactory"&gt;
+				&lt;attribute name="RMIObjectPort"&gt;4445&lt;/attribute&gt;
+				&lt;attribute name="RMIClientSocketFactory"&gt;
+				org.jboss.test.jrmp.ejb.CompressionClientSocketFactory
+				&lt;/attribute&gt;
+				&lt;attribute name="RMIServerSocketFactory"&gt;
+				org.jboss.test.jrmp.ejb.CompressionServerSocketFactory
+				&lt;/attribute&gt;
+				&lt;/mbean&gt;
+				&lt;/server&gt;
+			</programlisting>
 			<para>
 				Here the default <literal>JRMPInvoker</literal> has been customized to bind to port 4445 and to use custom socket factories that enable compression at the transport level.
 			</para>
-<programlisting>&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE jboss PUBLIC
-          "-//JBoss//DTD JBOSS 3.2//EN"
-          "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd"&gt;
-&lt;!-- The jboss.xml descriptor for the jrmp-comp.jar ejb unit --&gt;
-&lt;jboss&gt;
-    &lt;enterprise-beans&gt;
-        &lt;session&gt;
-            &lt;ejb-name&gt;StatelessSession&lt;/ejb-name&gt;
-            &lt;configuration-name&gt;Standard Stateless SessionBean&lt;/configuration-name&gt;
-            &lt;invoker-bindings&gt;
-                &lt;invoker&gt;
-                    &lt;invoker-proxy-binding-name&gt;
-                        stateless-compression-invoker
-                    &lt;/invoker-proxy-binding-name&gt;
-                    &lt;jndi-name&gt;jrmp-compressed/StatelessSession&lt;/jndi-name&gt;
-                &lt;/invoker&gt;
-            &lt;/invoker-bindings&gt;
-        &lt;/session&gt;
-    &lt;/enterprise-beans&gt;
-                    
-    &lt;invoker-proxy-bindings&gt;
-        &lt;invoker-proxy-binding&gt;
-            &lt;name&gt;stateless-compression-invoker&lt;/name&gt;
-            &lt;invoker-mbean&gt;
-                jboss:service=invoker,type=jrmp,socketType=CompressionSocketFactory
-            &lt;/invoker-mbean&gt;
-            &lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactory&lt;/proxy-factory&gt;
-            &lt;proxy-factory-config&gt;
-                &lt;client-interceptors&gt;
-                    &lt;home&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
-                    &lt;/home&gt;
-                    &lt;bean&gt;
-                        &lt;interceptor&gt;
-                            org.jboss.proxy.ejb.StatelessSessionInterceptor
-                        &lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
-                    &lt;/bean&gt;
-                &lt;/client-interceptors&gt;
-            &lt;/proxy-factory-config&gt;
-        &lt;/invoker-proxy-binding&gt;
-    &lt;/invoker-proxy-bindings&gt;
-&lt;/jboss&gt;     
-</programlisting>
+			<programlisting>&lt;?xml version="1.0"?&gt;
+				&lt;!DOCTYPE jboss PUBLIC
+				"-//JBoss//DTD JBOSS 3.2//EN"
+				"http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd"&gt;
+				&lt;!-- The jboss.xml descriptor for the jrmp-comp.jar ejb unit --&gt;
+				&lt;jboss&gt;
+				&lt;enterprise-beans&gt;
+				&lt;session&gt;
+				&lt;ejb-name&gt;StatelessSession&lt;/ejb-name&gt;
+				&lt;configuration-name&gt;Standard Stateless SessionBean&lt;/configuration-name&gt;
+				&lt;invoker-bindings&gt;
+				&lt;invoker&gt;
+				&lt;invoker-proxy-binding-name&gt;
+				stateless-compression-invoker
+				&lt;/invoker-proxy-binding-name&gt;
+				&lt;jndi-name&gt;jrmp-compressed/StatelessSession&lt;/jndi-name&gt;
+				&lt;/invoker&gt;
+				&lt;/invoker-bindings&gt;
+				&lt;/session&gt;
+				&lt;/enterprise-beans&gt;
+				
+				&lt;invoker-proxy-bindings&gt;
+				&lt;invoker-proxy-binding&gt;
+				&lt;name&gt;stateless-compression-invoker&lt;/name&gt;
+				&lt;invoker-mbean&gt;
+				jboss:service=invoker,type=jrmp,socketType=CompressionSocketFactory
+				&lt;/invoker-mbean&gt;
+				&lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactory&lt;/proxy-factory&gt;
+				&lt;proxy-factory-config&gt;
+				&lt;client-interceptors&gt;
+				&lt;home&gt;
+				&lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
+				&lt;/home&gt;
+				&lt;bean&gt;
+				&lt;interceptor&gt;
+				org.jboss.proxy.ejb.StatelessSessionInterceptor
+				&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
+				&lt;/bean&gt;
+				&lt;/client-interceptors&gt;
+				&lt;/proxy-factory-config&gt;
+				&lt;/invoker-proxy-binding&gt;
+				&lt;/invoker-proxy-bindings&gt;
+				&lt;/jboss&gt;     
+			</programlisting>
 			<para>
 				The <literal>StatelessSession</literal> EJB <literal>invoker-bindings</literal> settings specify that the <literal>stateless-compression-invoker</literal> will be used with the home interface bound under the JNDI name <literal>jrmp-compressed/StatelessSession</literal>. The <literal>stateless-compression-invoker</literal> is linked to the custom JRMP invoker we just declared.
 			</para>
 			<para>
 				The following example, <literal>org.jboss.test.hello</literal> testsuite package, is an example of using the <literal>HttpInvoker</literal> to configure a stateless session bean to use the RMI/HTTP protocol.
 			</para>
-<programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;!DOCTYPE jboss PUBLIC
-          "-//JBoss//DTD JBOSS 3.2//EN"
-          "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd"&gt;
-&lt;jboss&gt;
-    &lt;enterprise-beans&gt;
-        &lt;session&gt;
-            &lt;ejb-name&gt;HelloWorldViaHTTP&lt;/ejb-name&gt;
-            &lt;jndi-name&gt;helloworld/HelloHTTP&lt;/jndi-name&gt;
-            &lt;invoker-bindings&gt;
-                &lt;invoker&gt;
-                    &lt;invoker-proxy-binding-name&gt;
-                        stateless-http-invoker
-                    &lt;/invoker-proxy-binding-name&gt;
-                &lt;/invoker&gt;
-            &lt;/invoker-bindings&gt;
-        &lt;/session&gt;
-    &lt;/enterprise-beans&gt;
-    &lt;invoker-proxy-bindings&gt;
-        &lt;!-- A custom invoker for RMI/HTTP --&gt;
-        &lt;invoker-proxy-binding&gt;
-            &lt;name&gt;stateless-http-invoker&lt;/name&gt;
-            &lt;invoker-mbean&gt;jboss:service=invoker,type=http&lt;/invoker-mbean&gt;
-            &lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactory&lt;/proxy-factory&gt;
-            &lt;proxy-factory-config&gt;
-                &lt;client-interceptors&gt;
-                    &lt;home&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
-                    &lt;/home&gt;
-                    &lt;bean&gt;
-                        &lt;interceptor&gt;
-                            org.jboss.proxy.ejb.StatelessSessionInterceptor
-                        &lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
-                    &lt;/bean&gt;
-                &lt;/client-interceptors&gt;
-            &lt;/proxy-factory-config&gt;
-        &lt;/invoker-proxy-binding&gt;
-    &lt;/invoker-proxy-bindings&gt;
-&lt;/jboss&gt;
-</programlisting>
+			<programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+				&lt;!DOCTYPE jboss PUBLIC
+				"-//JBoss//DTD JBOSS 3.2//EN"
+				"http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd"&gt;
+				&lt;jboss&gt;
+				&lt;enterprise-beans&gt;
+				&lt;session&gt;
+				&lt;ejb-name&gt;HelloWorldViaHTTP&lt;/ejb-name&gt;
+				&lt;jndi-name&gt;helloworld/HelloHTTP&lt;/jndi-name&gt;
+				&lt;invoker-bindings&gt;
+				&lt;invoker&gt;
+				&lt;invoker-proxy-binding-name&gt;
+				stateless-http-invoker
+				&lt;/invoker-proxy-binding-name&gt;
+				&lt;/invoker&gt;
+				&lt;/invoker-bindings&gt;
+				&lt;/session&gt;
+				&lt;/enterprise-beans&gt;
+				&lt;invoker-proxy-bindings&gt;
+				&lt;!-- A custom invoker for RMI/HTTP --&gt;
+				&lt;invoker-proxy-binding&gt;
+				&lt;name&gt;stateless-http-invoker&lt;/name&gt;
+				&lt;invoker-mbean&gt;jboss:service=invoker,type=http&lt;/invoker-mbean&gt;
+				&lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactory&lt;/proxy-factory&gt;
+				&lt;proxy-factory-config&gt;
+				&lt;client-interceptors&gt;
+				&lt;home&gt;
+				&lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
+				&lt;/home&gt;
+				&lt;bean&gt;
+				&lt;interceptor&gt;
+				org.jboss.proxy.ejb.StatelessSessionInterceptor
+				&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
+				&lt;/bean&gt;
+				&lt;/client-interceptors&gt;
+				&lt;/proxy-factory-config&gt;
+				&lt;/invoker-proxy-binding&gt;
+				&lt;/invoker-proxy-bindings&gt;
+				&lt;/jboss&gt;
+			</programlisting>
 			<para>
 				Here a custom invoker-proxy-binding named <literal>stateless-http-invoker</literal> is defined. It uses the <literal>HttpInvoker</literal> MBean as the detached invoker. The <literal>jboss:service=invoker,type=http</literal> name is the default name of the <literal>HttpInvoker</literal> MBean as found in the <literal>http-invoker.sar/META-INF/jboss-service.xml</literal> descriptor, and its service descriptor fragment is show here:
 			</para>
-<programlisting>&lt;!-- The HTTP invoker service configuration --&gt;
-&lt;mbean code="org.jboss.invocation.http.server.HttpInvoker"
-       name="jboss:service=invoker,type=http"&gt;
-    &lt;!-- Use a URL of the form http://&lt;hostname&gt;:8080/invoker/EJBInvokerServlet
-         where &lt;hostname&gt; is InetAddress.getHostname value on which the server
-         is running. --&gt;
-    &lt;attribute name="InvokerURLPrefix"&gt;http://&lt;/attribute&gt;
-    &lt;attribute name="InvokerURLSuffix"&gt;:8080/invoker/EJBInvokerServlet&lt;/attribute&gt;
-    &lt;attribute name="UseHostName"&gt;true&lt;/attribute&gt;
-&lt;/mbean&gt;
-</programlisting>
+			<programlisting>&lt;!-- The HTTP invoker service configuration --&gt;
+				&lt;mbean code="org.jboss.invocation.http.server.HttpInvoker"
+				name="jboss:service=invoker,type=http"&gt;
+				&lt;!-- Use a URL of the form http://&lt;hostname&gt;:8080/invoker/EJBInvokerServlet
+				where &lt;hostname&gt; is InetAddress.getHostname value on which the server
+				is running. --&gt;
+				&lt;attribute name="InvokerURLPrefix"&gt;http://&lt;/attribute&gt;
+				&lt;attribute name="InvokerURLSuffix"&gt;:8080/invoker/EJBInvokerServlet&lt;/attribute&gt;
+				&lt;attribute name="UseHostName"&gt;true&lt;/attribute&gt;
+				&lt;/mbean&gt;
+			</programlisting>
 			<para>
 				The client proxy posts the EJB invocation content to the <literal>EJBInvokerServlet</literal> URL specified in the <literal>HttpInvoker</literal> service configuration.
 			</para>
@@ -644,68 +644,68 @@
 				To enable HA-RMI/HTTP you need to configure the invokers for the EJB container. This is done through either a <literal>jboss.xml</literal> descriptor, or the <literal>standardjboss.xml</literal> descriptor. <xref linkend="The_HA_HttpInvoker___Clustered_RMIHTTP_Transport-A_jboss.xml_stateless_session_configuration_for_HA_RMIHTTP" /> shows is an example of a stateless session configuration taken from the <literal>org.jboss.test.hello</literal> testsuite package.
 			</para>
 			<example id="The_HA_HttpInvoker___Clustered_RMIHTTP_Transport-A_jboss.xml_stateless_session_configuration_for_HA_RMIHTTP"><title>A jboss.xml stateless session configuration for HA-RMI/HTTP</title>
-<programlisting>&lt;jboss&gt;
-    &lt;enterprise-beans&gt;
-        &lt;session&gt;
-            &lt;ejb-name&gt;HelloWorldViaClusteredHTTP&lt;/ejb-name&gt;
-            &lt;jndi-name&gt;helloworld/HelloHA-HTTP&lt;/jndi-name&gt;
-            &lt;invoker-bindings&gt;
-                &lt;invoker&gt;
-                    &lt;invoker-proxy-binding-name&gt;
-                        stateless-httpHA-invoker
-                    &lt;/invoker-proxy-binding-name&gt;
-                &lt;/invoker&gt;
-            &lt;/invoker-bindings&gt;
-            &lt;clustered&gt;true&lt;/clustered&gt;
-        &lt;/session&gt;
-    &lt;/enterprise-beans&gt;
-    &lt;invoker-proxy-bindings&gt;
-        &lt;invoker-proxy-binding&gt;
-            &lt;name&gt;stateless-httpHA-invoker&lt;/name&gt;
-            &lt;invoker-mbean&gt;jboss:service=invoker,type=httpHA&lt;/invoker-mbean&gt;
-            &lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactoryHA&lt;/proxy-factory&gt;
-            &lt;proxy-factory-config&gt;
-                &lt;client-interceptors&gt;
-                    &lt;home&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
-                    &lt;/home&gt;
-                    &lt;bean&gt;
-                        &lt;interceptor&gt;
-                            org.jboss.proxy.ejb.StatelessSessionInterceptor
-                        &lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
-                        &lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
-                    &lt;/bean&gt;
-                &lt;/client-interceptors&gt;
-            &lt;/proxy-factory-config&gt;
-        &lt;/invoker-proxy-binding&gt;
-    &lt;/invoker-proxy-bindings&gt;
-&lt;/jboss&gt;
-</programlisting>
+				<programlisting>&lt;jboss&gt;
+					&lt;enterprise-beans&gt;
+					&lt;session&gt;
+					&lt;ejb-name&gt;HelloWorldViaClusteredHTTP&lt;/ejb-name&gt;
+					&lt;jndi-name&gt;helloworld/HelloHA-HTTP&lt;/jndi-name&gt;
+					&lt;invoker-bindings&gt;
+					&lt;invoker&gt;
+					&lt;invoker-proxy-binding-name&gt;
+					stateless-httpHA-invoker
+					&lt;/invoker-proxy-binding-name&gt;
+					&lt;/invoker&gt;
+					&lt;/invoker-bindings&gt;
+					&lt;clustered&gt;true&lt;/clustered&gt;
+					&lt;/session&gt;
+					&lt;/enterprise-beans&gt;
+					&lt;invoker-proxy-bindings&gt;
+					&lt;invoker-proxy-binding&gt;
+					&lt;name&gt;stateless-httpHA-invoker&lt;/name&gt;
+					&lt;invoker-mbean&gt;jboss:service=invoker,type=httpHA&lt;/invoker-mbean&gt;
+					&lt;proxy-factory&gt;org.jboss.proxy.ejb.ProxyFactoryHA&lt;/proxy-factory&gt;
+					&lt;proxy-factory-config&gt;
+					&lt;client-interceptors&gt;
+					&lt;home&gt;
+					&lt;interceptor&gt;org.jboss.proxy.ejb.HomeInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
+					&lt;/home&gt;
+					&lt;bean&gt;
+					&lt;interceptor&gt;
+					org.jboss.proxy.ejb.StatelessSessionInterceptor
+					&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.proxy.SecurityInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.proxy.TransactionInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.invocation.InvokerInterceptor&lt;/interceptor&gt;
+					&lt;/bean&gt;
+					&lt;/client-interceptors&gt;
+					&lt;/proxy-factory-config&gt;
+					&lt;/invoker-proxy-binding&gt;
+					&lt;/invoker-proxy-bindings&gt;
+					&lt;/jboss&gt;
+				</programlisting>
 			</example><para>
 				The <literal>stateless-httpHA-invoker</literal> invoker-proxy-binding references the <literal>jboss:service=invoker,type=httpHA</literal> invoker service. This service would be configured as shown below.
 			</para>
-<programlisting>&lt;mbean code="org.jboss.invocation.http.server.HttpInvokerHA"
-       name="jboss:service=invoker,type=httpHA"&gt;
-    &lt;!-- Use a URL of the form
-         http://&lt;hostname&gt;:8080/invoker/EJBInvokerHAServlet
-         where &lt;hostname&gt; is InetAddress.getHostname value on which the server
-         is running.
-    --&gt;
-    &lt;attribute name="InvokerURLPrefix"&gt;http://&lt;/attribute&gt;
-    &lt;attribute name="InvokerURLSuffix"&gt;:8080/invoker/EJBInvokerHAServlet&lt;/attribute&gt;
-    &lt;attribute name="UseHostName"&gt;true&lt;/attribute&gt;
-&lt;/mbean&gt;    
-</programlisting>
+			<programlisting>&lt;mbean code="org.jboss.invocation.http.server.HttpInvokerHA"
+				name="jboss:service=invoker,type=httpHA"&gt;
+				&lt;!-- Use a URL of the form
+				http://&lt;hostname&gt;:8080/invoker/EJBInvokerHAServlet
+				where &lt;hostname&gt; is InetAddress.getHostname value on which the server
+				is running.
+				--&gt;
+				&lt;attribute name="InvokerURLPrefix"&gt;http://&lt;/attribute&gt;
+				&lt;attribute name="InvokerURLSuffix"&gt;:8080/invoker/EJBInvokerHAServlet&lt;/attribute&gt;
+				&lt;attribute name="UseHostName"&gt;true&lt;/attribute&gt;
+				&lt;/mbean&gt;    
+			</programlisting>
 			<para>
 				The URL used by the invoker proxy is the <literal>EJBInvokerHAServlet</literal> mapping as deployed on the cluster node. The <literal>HttpInvokerHA</literal> instances across the cluster form a collection of candidate http URLs that are made available to the client side proxy for failover and/or load balancing.
 			</para>
 		</section>
-
+		
 	</section>
 	
 	<section id="EJBs_on_JBoss-The_EJB_Container">
@@ -772,7 +772,7 @@
 					When the <literal>VerifyDeployments</literal> attribute of the <literal>EJBDeployer</literal> is true, the deployer performs a verification of EJBs in the deployment. The verification checks that an EJB meets EJB specification compliance. This entails validating that the EJB deployment unit contains the required home and remote, local home and local interfaces. It will also check that the objects appearing in these interfaces are of the proper types and that the required methods are present in the implementation class. This is a useful behavior that is enabled by default since there are a number of steps that an EJB developer and deployer must perform correctly to construct a proper EJB JAR, and it is easy to make a mistake. The verification stage attempts to catch any errors and fail the deployment with an error that indicates what needs to be corrected.
 				</para>
 				<para>
-					Probably the most problematic aspect of writing EJBs is the fact that there is a disconnection between the bean implementation and its remote and home interfaces, as well as its deployment descriptor configuration. It is easy to have these separate elements get out of synch. One tool that helps eliminate this problem is XDoclet. It allows you to use custom JavaDoc-like tags in the EJB bean implementation class to generate the related bean interfaces, deployment descriptors and related objects. See the XDoclet home page, <ulink url="http://sourceforge.net/projects/xdoclet"></ulink> for additional details.
+					Probably the most problematic aspect of writing EJBs is the fact that there is a disconnection between the bean implementation and its remote and home interfaces, as well as its deployment descriptor configuration. It is easy to have these separate elements get out of sync. One tool that helps eliminate this problem is XDoclet. It allows you to use custom JavaDoc-like tags in the EJB bean implementation class to generate the related bean interfaces, deployment descriptors and related objects. See the XDoclet home page, <ulink url="http://sourceforge.net/projects/xdoclet"></ulink> for additional details.
 				</para>
 			</section>
 			
@@ -824,82 +824,82 @@
 				<para>
 					The <literal>container-configuration</literal> element and its subelements specify container configuration settings for a type of container as given by the <literal>container-name</literal> element. Each configuration specifies information such as the default invoker type, the container interceptor makeup, instance caches/pools and their sizes, persistence manager, security, and so on. Because this is a large amount of information that requires a detailed understanding of the JBoss container architecture, JBoss ships with a standard configuration for the four types of EJBs. This configuration file is called <literal>standardjboss.xml</literal> and it is located in the conf directory of any configuration file set that uses EJBs. The following is a sample of <literal>container-configuration</literal> from <literal>standardjboss.xml</literal>.
 				</para>
-<programlisting>&lt;container-configuration&gt;
-    &lt;container-name&gt;Standard CMP 2.x EntityBean&lt;/container-name&gt;
-    &lt;call-logging&gt;false&lt;/call-logging&gt;
-    &lt;invoker-proxy-binding-name&gt;entity-rmi-invoker&lt;/invoker-proxy-binding-name&gt;
-    &lt;sync-on-commit-only&gt;false&lt;/sync-on-commit-only&gt;
-    &lt;insert-after-ejb-post-create&gt;false&lt;/insert-after-ejb-post-create&gt;
-    &lt;call-ejb-store-on-clean&gt;true&lt;/call-ejb-store-on-clean&gt;
-    &lt;container-interceptors&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.LogInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.SecurityInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.TxInterceptorCMT&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.CallValidationInterceptor&lt;/interceptor&gt;
-        &lt;interceptor metricsEnabled="true"&gt;
-            org.jboss.ejb.plugins.MetricsInterceptor
-        &lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.EntityCreationInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.EntityLockInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.EntityInstanceInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.EntityReentranceInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;
-             org.jboss.resource.connectionmanager.CachedConnectionInterceptor
-        &lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.EntitySynchronizationInterceptor&lt;/interceptor&gt;
-        &lt;interceptor&gt;org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor&lt;/interceptor&gt;
-    &lt;/container-interceptors&gt;
-    &lt;instance-pool&gt;org.jboss.ejb.plugins.EntityInstancePool&lt;/instance-pool&gt;
-    &lt;instance-cache&gt;org.jboss.ejb.plugins.InvalidableEntityInstanceCache&lt;/instance-cache&gt;
-    &lt;persistence-manager&gt;org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager&lt;/persistence-manager&gt;
-    &lt;locking-policy&gt;org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock&lt;/locking-policy&gt;
-    &lt;container-cache-conf&gt;
-        &lt;cache-policy&gt;org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy&lt;/cache-policy&gt;
-        &lt;cache-policy-conf&gt;
-            &lt;min-capacity&gt;50&lt;/min-capacity&gt;
-            &lt;max-capacity&gt;1000000&lt;/max-capacity&gt;
-            &lt;overager-period&gt;300&lt;/overager-period&gt;
-            &lt;max-bean-age&gt;600&lt;/max-bean-age&gt;
-            &lt;resizer-period&gt;400&lt;/resizer-period&gt;
-            &lt;max-cache-miss-period&gt;60&lt;/max-cache-miss-period&gt;
-            &lt;min-cache-miss-period&gt;1&lt;/min-cache-miss-period&gt;
-            &lt;cache-load-factor&gt;0.75&lt;/cache-load-factor&gt;
-        &lt;/cache-policy-conf&gt;
-    &lt;/container-cache-conf&gt;
-    &lt;container-pool-conf&gt;
-        &lt;MaximumSize&gt;100&lt;/MaximumSize&gt;
-    &lt;/container-pool-conf&gt;
-    &lt;commit-option&gt;B&lt;/commit-option&gt;
-&lt;/container-configuration&gt;
-</programlisting>
+				<programlisting>&lt;container-configuration&gt;
+					&lt;container-name&gt;Standard CMP 2.x EntityBean&lt;/container-name&gt;
+					&lt;call-logging&gt;false&lt;/call-logging&gt;
+					&lt;invoker-proxy-binding-name&gt;entity-rmi-invoker&lt;/invoker-proxy-binding-name&gt;
+					&lt;sync-on-commit-only&gt;false&lt;/sync-on-commit-only&gt;
+					&lt;insert-after-ejb-post-create&gt;false&lt;/insert-after-ejb-post-create&gt;
+					&lt;call-ejb-store-on-clean&gt;true&lt;/call-ejb-store-on-clean&gt;
+					&lt;container-interceptors&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.LogInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.SecurityInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.TxInterceptorCMT&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.CallValidationInterceptor&lt;/interceptor&gt;
+					&lt;interceptor metricsEnabled="true"&gt;
+					org.jboss.ejb.plugins.MetricsInterceptor
+					&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.EntityCreationInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.EntityLockInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.EntityInstanceInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.EntityReentranceInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;
+					org.jboss.resource.connectionmanager.CachedConnectionInterceptor
+					&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.EntitySynchronizationInterceptor&lt;/interceptor&gt;
+					&lt;interceptor&gt;org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor&lt;/interceptor&gt;
+					&lt;/container-interceptors&gt;
+					&lt;instance-pool&gt;org.jboss.ejb.plugins.EntityInstancePool&lt;/instance-pool&gt;
+					&lt;instance-cache&gt;org.jboss.ejb.plugins.InvalidableEntityInstanceCache&lt;/instance-cache&gt;
+					&lt;persistence-manager&gt;org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager&lt;/persistence-manager&gt;
+					&lt;locking-policy&gt;org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock&lt;/locking-policy&gt;
+					&lt;container-cache-conf&gt;
+					&lt;cache-policy&gt;org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy&lt;/cache-policy&gt;
+					&lt;cache-policy-conf&gt;
+					&lt;min-capacity&gt;50&lt;/min-capacity&gt;
+					&lt;max-capacity&gt;1000000&lt;/max-capacity&gt;
+					&lt;overager-period&gt;300&lt;/overager-period&gt;
+					&lt;max-bean-age&gt;600&lt;/max-bean-age&gt;
+					&lt;resizer-period&gt;400&lt;/resizer-period&gt;
+					&lt;max-cache-miss-period&gt;60&lt;/max-cache-miss-period&gt;
+					&lt;min-cache-miss-period&gt;1&lt;/min-cache-miss-period&gt;
+					&lt;cache-load-factor&gt;0.75&lt;/cache-load-factor&gt;
+					&lt;/cache-policy-conf&gt;
+					&lt;/container-cache-conf&gt;
+					&lt;container-pool-conf&gt;
+					&lt;MaximumSize&gt;100&lt;/MaximumSize&gt;
+					&lt;/container-pool-conf&gt;
+					&lt;commit-option&gt;B&lt;/commit-option&gt;
+					&lt;/container-configuration&gt;
+				</programlisting>
 				<para>
 					These two examples demonstrate how extensive the container configuration options are. The container configuration information can be specified at two levels. The first is in the <literal>standardjboss.xml</literal> file contained in the configuration file set directory. The second is at the EJB JAR level. By placing a <literal>jboss.xml</literal> file in the EJB JAR <literal>META-INF</literal> directory, you can specify either overrides for container configurations in the <literal>standardjboss.xml</literal> file, or entirely new named container configurations. This provides great flexibility in the configuration of containers. As you have seen, all container configuration attributes have been externalized and as such are easily modifiable. Knowledgeable developers can even implement specialized container components, such as instance pools or caches, and easily integrate them with the standard container configurations to optimize behavior for a particular application o!
 r environment.
 				</para>
 				<para>
-					How an EJB deployment chooses its container configuration is based on the explicit or implict <literal>jboss/enterprise-beans/&lt;type&gt;/configuration-name</literal> element. The <literal>configuration-name</literal> element is a link to a <literal>container-configurations/container-configuration</literal> element. It specifies which container configuration to use for the referring EJB. The link is from a <literal>configuration-name</literal> element to a <literal>container-name</literal> element.
+					How an EJB deployment chooses its container configuration is based on the explicit or implicit <literal>jboss/enterprise-beans/&lt;type&gt;/configuration-name</literal> element. The <literal>configuration-name</literal> element is a link to a <literal>container-configurations/container-configuration</literal> element in <xref linkend="Container_configuration_information-The_jboss_4_0_DTD_elements_related_to_container_configuration." />. It specifies which container configuration to use for the referring EJB. The link is from a <literal>configuration-name</literal> element to a <literal>container-name</literal> element.
 				</para>
 				<para>
 					You are able to specify container configurations per class of EJB by including a <literal>container-configuration</literal> element in the EJB definition. Typically one does not define completely new container configurations, although this is supported. The typical usage of a <literal>jboss.xml</literal> level <literal>container-configuration</literal> is to override one or more aspects of a <literal>container-configuration</literal> coming from the <literal>standardjboss.xml</literal> descriptor. This is done by specifying <literal>container-configuration</literal> that references the name of an existing <literal>standardjboss.xml</literal><literal>container-configuration/container-name</literal> as the value for the <literal>container-configuration/extends</literal> attribute. The following example shows an example of defining a new <literal>Secured Stateless SessionBean</literal> configuration that is an extension of the <literal>Standard Stateless SessionBean</lite!
 ral> configuration.
 				</para>
-<programlisting>&lt;?xml version="1.0"?&gt;
-&lt;jboss&gt;
-    &lt;enterprise-beans&gt;
-        &lt;session&gt;
-            &lt;ejb-name&gt;EchoBean&lt;/ejb-name&gt;
-            &lt;configuration-name&gt;Secured Stateless SessionBean&lt;/configuration-name&gt;
-            &lt;!-- ... --&gt;
-        &lt;/session&gt;
-    &lt;/enterprise-beans&gt;
-    &lt;container-configurations&gt;
-        &lt;container-configuration extends="Standard Stateless SessionBean"&gt;
-            &lt;container-name&gt;Secured Stateless SessionBean&lt;/container-name&gt;
-            &lt;!-- Override the container security domain --&gt;
-            &lt;security-domain&gt;java:/jaas/my-security-domain&lt;/security-domain&gt;
-        &lt;/container-configuration&gt;
-    &lt;/container-configurations&gt;
-&lt;/jboss&gt;
-</programlisting>
+				<programlisting>&lt;?xml version="1.0"?&gt;
+					&lt;jboss&gt;
+					&lt;enterprise-beans&gt;
+					&lt;session&gt;
+					&lt;ejb-name&gt;EchoBean&lt;/ejb-name&gt;
+					&lt;configuration-name&gt;Secured Stateless SessionBean&lt;/configuration-name&gt;
+					&lt;!-- ... --&gt;
+					&lt;/session&gt;
+					&lt;/enterprise-beans&gt;
+					&lt;container-configurations&gt;
+					&lt;container-configuration extends="Standard Stateless SessionBean"&gt;
+					&lt;container-name&gt;Secured Stateless SessionBean&lt;/container-name&gt;
+					&lt;!-- Override the container security domain --&gt;
+					&lt;security-domain&gt;java:/jaas/my-security-domain&lt;/security-domain&gt;
+					&lt;/container-configuration&gt;
+					&lt;/container-configurations&gt;
+					&lt;/jboss&gt;
+				</programlisting>
 				<para>
 					If an EJB does not provide a container configuration specification in the deployment unit EJB JAR, the container factory chooses a container configuration from the <literal>standardjboss.xml</literal> descriptor based on the type of the EJB. So, in reality there is an implicit <literal>configuration-name</literal> element for every type of EJB, and the mappings from the EJB type to default container configuration name are as follows:
 				</para>
@@ -944,12 +944,12 @@
 				<para>
 					The <literal>XmlLoadable</literal> interface is a simple interface that consists of a single method. The interface definition is:
 				</para>
-<programlisting>import org.w3c.dom.Element;
-public interface XmlLoadable
-{
-    public void importXml(Element element) throws Exception;
-}
-</programlisting>
+				<programlisting>import org.w3c.dom.Element;
+					public interface XmlLoadable
+					{
+					public void importXml(Element element) throws Exception;
+					}
+				</programlisting>
 				<para>
 					Classes implement this interface to allow their configuration to be specified via an XML document fragment. The root element of the document fragment is what would be passed to the <literal>importXml</literal> method. You will see a few examples of this as the container configuration elements are described in the following sections.
 				</para>
@@ -1262,13 +1262,13 @@
 						The <literal>depends</literal> element gives a JMX <literal>ObjectName</literal> of a service on which the container or EJB depends. Specification of explicit dependencies on other services avoids having to rely on the deployment order being after the required services are started.
 					</para>
 				</section>
-
+				
 			</section>
-
+			
 		</section>
 		
-		<section id="The_EJB_Container-Container_Plug_in_Framework_">
-			<title>Container Plug-in Framework </title>
+		<section id="The_EJB_Container-Container_Plug_in_Framework">
+			<title>Container Plug-in Framework</title>
 			<para>
 				The JBoss EJB container uses a framework pattern that allows one to change implementations of various aspects of the container behavior. The container itself does not perform any significant work other than connecting the various behavioral components together. Implementations of the behavioral components are referred to as plugins, because you can plug in a new implementation by changing a container configuration. Examples of plug-in behavior you may want to change include persistence management, object pooling, object caching, container invokers and interceptors. There are four subclasses of the <literal>org.jboss.ejb.Container</literal> class, each one implementing a particular bean type:
 			</para>
@@ -1342,44 +1342,44 @@
 			<para>
 				The container&#39;s main responsibility is to manage its plug-ins. This means ensuring that the plug-ins have all the information they need to implement their functionality.
 			</para>
-			<section id="Container_Plug_in_Framework_-org.jboss.ejb.ContainerPlugin">
+			<section id="Container_Plug_in_Framework-org.jboss.ejb.ContainerPlugin">
 				<title>org.jboss.ejb.ContainerPlugin</title>
 				<para>
 					The <literal>ContainerPlugin</literal> interface is the parent interface of all container plug-in interfaces. It provides a callback that allows a container to provide each of its plug-ins a pointer to the container the plug-in is working on behalf of. The <literal>ContainerPlugin</literal> interface is given below.
 				</para>
 				<example id="org.jboss.ejb.ContainerPlugin-The_org.jboss.ejb.ContainerPlugin_interface"><title>The org.jboss.ejb.ContainerPlugin interface</title>
-<programlisting>public interface ContainerPlugin
-    extends Service, AllowedOperationsFlags
-{
-    /** co
-     * This callback is set by the container so that the plugin
-     * may access its container
-     *
-     * @param con the container which owns the plugin
-     */
-    public void setContainer(Container con);
-}   
-</programlisting>
+					<programlisting>public interface ContainerPlugin
+						extends Service, AllowedOperationsFlags
+						{
+						/** 
+						* This callback is set by the container so that the plugin
+						* may access its container
+						*
+						* @param con the container which owns the plugin
+						*/
+						public void setContainer(Container con);
+						}   
+					</programlisting>
 				</example>
 			</section>
 			
-			<section id="Container_Plug_in_Framework_-org.jboss.ejb.Interceptor">
+			<section id="Container_Plug_in_Framework-org.jboss.ejb.Interceptor">
 				<title>org.jboss.ejb.Interceptor</title>
 				<para>
 					The <literal>Interceptor</literal> interface enables one to build a chain of method interceptors through which each EJB method invocation must pass. The <literal>Interceptor</literal> interface is given below.
 				</para>
 				<example id="org.jboss.ejb.Interceptor-The_org.jboss.ejb.Interceptor_interface"><title>The org.jboss.ejb.Interceptor interface</title>
-<programlisting>import org.jboss.invocation.Invocation;
-                    
-public interface Interceptor 
-    extends ContainerPlugin
-{
-    public void setNext(Interceptor interceptor);
-    public Interceptor getNext();
-    public Object invokeHome(Invocation mi) throws Exception;
-    public Object invoke(Invocation mi) throws Exception;
-} 
-</programlisting>
+					<programlisting>import org.jboss.invocation.Invocation;
+						
+						public interface Interceptor 
+						extends ContainerPlugin
+						{
+						public void setNext(Interceptor interceptor);
+						public Interceptor getNext();
+						public Object invokeHome(Invocation mi) throws Exception;
+						public Object invoke(Invocation mi) throws Exception;
+						} 
+					</programlisting>
 				</example><para>
 					All interceptors defined in the container configuration are created and added to the container interceptor chain by the <literal>EJBDeployer</literal>. The last interceptor is not added by the deployer but rather by the container itself because this is the interceptor that interacts with the EJB bean implementation.
 				</para>
@@ -1397,54 +1397,54 @@
 				</para>
 			</section>
 			
-			<section id="Container_Plug_in_Framework_-org.jboss.ejb.InstancePool">
+			<section id="Container_Plug_in_Framework-org.jboss.ejb.InstancePool">
 				<title>org.jboss.ejb.InstancePool</title>
 				<para>
 					An <literal>InstancePool</literal> is used to manage the EJB instances that are not associated with any identity. The pools actually manage subclasses of the <literal>org.jboss.ejb.EnterpriseContext</literal> objects that aggregate unassociated bean instances and related data.
 				</para>
-				<example id="org.jboss.ejb.InstancePool-_The_org.jboss.ejb.InstancePool_interface"><title> The org.jboss.ejb.InstancePool interface</title>
-<programlisting>public interface InstancePool
-    extends ContainerPlugin
-{
-    /** 
-     * Get an instance without identity. Can be used
-     * by finders and create-methods, or stateless beans
-     *
-     * @return Context /w instance
-     * @exception RemoteException
-     */
-    public EnterpriseContext get() throws Exception;
-    
-    /** Return an anonymous instance after invocation.
-     *
-     * @param ctx
-     */
-    public void free(EnterpriseContext ctx);
-    
-    /**
-     * Discard an anonymous instance after invocation.
-     * This is called if the instance should not be reused,
-     * perhaps due to some exception being thrown from it.
-     *
-     * @param ctx
-     */
-    public void discard(EnterpriseContext ctx);
-    
-    /**
-     * Return the size of the pool.
-     *
-     * @return the size of the pool.
-     */
-    public int getCurrentSize();
-    
-    /**
-     * Get the maximum size of the pool.
-     *
-     * @return the size of the pool.
-     */
-    public int getMaxSize();
-}
-</programlisting>
+				<example id="org.jboss.ejb.InstancePool-The_org.jboss.ejb.InstancePool_interface"><title>The org.jboss.ejb.InstancePool interface</title>
+					<programlisting>public interface InstancePool
+						extends ContainerPlugin
+						{
+						/** 
+						* Get an instance without identity. Can be used
+						* by finders and create-methods, or stateless beans
+						*
+						* @return Context /w instance
+						* @exception RemoteException
+						*/
+						public EnterpriseContext get() throws Exception;
+						
+						/** Return an anonymous instance after invocation.
+						*
+						* @param ctx
+						*/
+						public void free(EnterpriseContext ctx);
+						
+						/**
+						* Discard an anonymous instance after invocation.
+						* This is called if the instance should not be reused,
+						* perhaps due to some exception being thrown from it.
+						*
+						* @param ctx
+						*/
+						public void discard(EnterpriseContext ctx);
+						
+						/**
+						* Return the size of the pool.
+						*
+						* @return the size of the pool.
+						*/
+						public int getCurrentSize();
+						
+						/**
+						* Get the maximum size of the pool.
+						*
+						* @return the size of the pool.
+						*/
+						public int getMaxSize();
+						}
+					</programlisting>
 				</example><para>
 					Depending on the configuration, a container may choose to have a certain size of the pool contain recycled instances, or it may choose to instantiate and initialize an instance on demand.
 				</para>
@@ -1453,78 +1453,78 @@
 				</para>
 			</section>
 			
-			<section id="Container_Plug_in_Framework_-org.jboss.ebj.InstanceCache">
+			<section id="Container_Plug_in_Framework-org.jboss.ebj.InstanceCache">
 				<title>org.jboss.ebj.InstanceCache</title>
 				<para>
 					The container <literal>InstanceCache</literal> implementation handles all EJB-instances that are in an active state, meaning bean instances that have an identity attached to them. Only entity and stateful session beans are cached, as these are the only bean types that have state between method invocations. The cache key of an entity bean is the bean primary key. The cache key for a stateful session bean is the session id.
 				</para>
 				<example id="org.jboss.ebj.InstanceCache-The_org.jboss.ejb.InstanceCache_interface"><title>The org.jboss.ejb.InstanceCache interface</title>
-<programlisting>public interface InstanceCache 
-    extends ContainerPlugin
-{
-    /**
-     * Gets a bean instance from this cache given the identity.
-     * This method may involve activation if the instance is not
-     * in the cache.
-     * Implementation should have O(1) complexity.
-     * This method is never called for stateless session beans.
-     *
-     * @param id the primary key of the bean
-     * @return the EnterpriseContext related to the given id
-     * @exception RemoteException in case of illegal calls
-     * (concurrent / reentrant), NoSuchObjectException if
-     * the bean cannot be found.
-     * @see #release
-     */
-    public EnterpriseContext get(Object id)
-	throws RemoteException, NoSuchObjectException;
-    
-    /**
-     * Inserts an active bean instance after creation or activation.
-     * Implementation should guarantee proper locking and O(1) complexity.
-     *
-     * @param ctx the EnterpriseContext to insert in the cache
-     * @see #remove
-     */
-    public void insert(EnterpriseContext ctx);
-    
-    /**
-     * Releases the given bean instance from this cache.
-     * This method may passivate the bean to get it out of the cache.
-     * Implementation should return almost immediately leaving the
-     * passivation to be executed by another thread.
-     *
-     * @param ctx the EnterpriseContext to release
-     * @see #get
-     */
-    public void release(EnterpriseContext ctx);
-    
-    /**
-     * Removes a bean instance from this cache given the identity.
-     * Implementation should have O(1) complexity and guarantee
-     * proper locking.
-     *
-     * @param id the primary key of the bean
-     * @see #insert
-     */
-    public void remove(Object id);
-    
-    /**
-     * Checks whether an instance corresponding to a particular
-     * id is active
-     *
-     * @param id the primary key of the bean
-     * @see #insert
-     */
-    public boolean isActive(Object id);    
-}
-</programlisting>
+					<programlisting>public interface InstanceCache 
+						extends ContainerPlugin
+						{
+						/**
+						* Gets a bean instance from this cache given the identity.
+						* This method may involve activation if the instance is not
+						* in the cache.
+						* Implementation should have O(1) complexity.
+						* This method is never called for stateless session beans.
+						*
+						* @param id the primary key of the bean
+						* @return the EnterpriseContext related to the given id
+						* @exception RemoteException in case of illegal calls
+						* (concurrent / reentrant), NoSuchObjectException if
+						* the bean cannot be found.
+						* @see #release
+						*/
+						public EnterpriseContext get(Object id)
+						throws RemoteException, NoSuchObjectException;
+						
+						/**
+						* Inserts an active bean instance after creation or activation.
+						* Implementation should guarantee proper locking and O(1) complexity.
+						*
+						* @param ctx the EnterpriseContext to insert in the cache
+						* @see #remove
+						*/
+						public void insert(EnterpriseContext ctx);
+						
+						/**
+						* Releases the given bean instance from this cache.
+						* This method may passivate the bean to get it out of the cache.
+						* Implementation should return almost immediately leaving the
+						* passivation to be executed by another thread.
+						*
+						* @param ctx the EnterpriseContext to release
+						* @see #get
+						*/
+						public void release(EnterpriseContext ctx);
+						
+						/**
+						* Removes a bean instance from this cache given the identity.
+						* Implementation should have O(1) complexity and guarantee
+						* proper locking.
+						*
+						* @param id the primary key of the bean
+						* @see #insert
+						*/
+						public void remove(Object id);
+						
+						/**
+						* Checks whether an instance corresponding to a particular
+						* id is active
+						*
+						* @param id the primary key of the bean
+						* @see #insert
+						*/
+						public boolean isActive(Object id);    
+						}
+					</programlisting>
 				</example><para>
 					In addition to managing the list of active instances, the <literal>InstanceCache</literal> is also responsible for activating and passivating instances. If an instance with a given identity is requested, and it is not currently active, the <literal>InstanceCache</literal> must use the <literal>InstancePool</literal> to acquire a free instance, followed by the persistence manager to activate the instance. Similarly, if the <literal>InstanceCache</literal> decides to passivate an active instance, it must call the persistence manager to passivate it and release the instance to the <literal>InstancePool</literal>.
 				</para>
 			</section>
 			
-			<section id="Container_Plug_in_Framework_-org.jboss.ejb.EntityPersistenceManager">
+			<section id="Container_Plug_in_Framework-org.jboss.ejb.EntityPersistenceManager">
 				<title>org.jboss.ejb.EntityPersistenceManager</title>
 				<para>
 					The <literal>EntityPersistenceManager</literal> is responsible for the persistence of EntityBeans. This includes the following:
@@ -1561,343 +1561,343 @@
 						</para>
 					</listitem>
 				</itemizedlist>
-				<example id="org.jboss.ejb.EntityPersistenceManager-_The_org.jboss.ejb.EntityPersistenceManager_interface"><title> The org.jboss.ejb.EntityPersistenceManager interface</title>
-<programlisting>public interface EntityPersistenceManager 
-    extends ContainerPlugin
-{
-    /**
-     * Returns a new instance of the bean class or a subclass of the
-     * bean class.
-     *
-     * @return the new instance
-     */
-    Object createBeanClassInstance() throws Exception;
-                    
-    /**
-     * This method is called whenever an entity is to be created. The
-     * persistence manager is responsible for calling the ejbCreate method
-     * on the instance and to handle the results properly wrt the persistent
-     * store.
-     *
-     * @param m the create method in the home interface that was
-     * called
-     * @param args any create parameters
-     * @param instance the instance being used for this create call
-     */
-    void createEntity(Method m,
-		      Object[] args,
-		      EntityEnterpriseContext instance)
-	throws Exception;
-    
-    /**
-     * This method is called whenever an entity is to be created. The
-     * persistence manager is responsible for calling the ejbPostCreate method
-     * on the instance and to handle the results properly wrt the persistent
-     * store.
-     *
-     * @param m the create method in the home interface that was
-     * called
-     * @param args any create parameters
-     * @param instance the instance being used for this create call
-     */
-    void postCreateEntity(Method m,
-			  Object[] args,
-			  EntityEnterpriseContext instance)
-	throws Exception;
-    
-    /**
-     * This method is called when single entities are to be found. The
-     * persistence manager must find out whether the wanted instance is
-     * available in the persistence store, and if so it shall use the
-     * ContainerInvoker plugin to create an EJBObject to the instance, which
-     * is to be returned as result.
-     *
-     * @param finderMethod the find method in the home interface that was
-     * called
-     * @param args any finder parameters
-     * @param instance the instance to use for the finder call
-     * @return an EJBObject representing the found entity
-     */
-    Object findEntity(Method finderMethod,
-		      Object[] args,
-		      EntityEnterpriseContext instance)
-	throws Exception;
-    
-    /**
-     * This method is called when collections of entities are to be
-     * found. The persistence manager must find out whether the wanted
-     * instances are available in the persistence store, and if so it
-     * shall use the ContainerInvoker plugin to create EJBObjects to
-     * the instances, which are to be returned as result.
-     *
-     * @param finderMethod the find method in the home interface that was
-     * called
-     * @param args any finder parameters
-     * @param instance the instance to use for the finder call
-     * @return an EJBObject collection representing the found
-     * entities
-     */
-    Collection findEntities(Method finderMethod,
-			    Object[] args,
-			    EntityEnterpriseContext instance)
-                     throws Exception;
-    
-    /**
-     * This method is called when an entity shall be activated. The
-     * persistence manager must call the ejbActivate method on the
-     * instance.
-     *
-     * @param instance the instance to use for the activation
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void activateEntity(EntityEnterpriseContext instance)
-	throws RemoteException;
-                    
-    /**
-     * This method is called whenever an entity shall be load from the
-     * underlying storage. The persistence manager must load the state
-     * from the underlying storage and then call ejbLoad on the
-     * supplied instance.
-     *
-     * @param instance the instance to synchronize
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void loadEntity(EntityEnterpriseContext instance)
-	throws RemoteException;
-    
-    /**
-     * This method is used to determine if an entity should be stored.
-     *
-     * @param instance the instance to check
-     * @return true, if the entity has been modified
-     * @throws Exception thrown if some system exception occurs
-     */
-    boolean isModified(EntityEnterpriseContext instance) throws Exception;
-    
-    /**
-     * This method is called whenever an entity shall be stored to the
-     * underlying storage. The persistence manager must call ejbStore
-     * on the supplied instance and then store the state to the
-     * underlying storage.
-     *
-     * @param instance the instance to synchronize
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void storeEntity(EntityEnterpriseContext instance)
-	throws RemoteException;
-    
-    /**
-     * This method is called when an entity shall be passivate. The
-     * persistence manager must call the ejbPassivate method on the
-     * instance.
-     *
-     * @param instance the instance to passivate
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void passivateEntity(EntityEnterpriseContext instance)
-	throws RemoteException;
-    
-    /**
-     * This method is called when an entity shall be removed from the
-     * underlying storage. The persistence manager must call ejbRemove
-     * on the instance and then remove its state from the underlying
-     * storage.
-     *
-     * @param instance the instance to remove
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     * @throws RemoveException thrown if the instance could not be removed
-     */
-    void removeEntity(EntityEnterpriseContext instance)
-	throws RemoteException, RemoveException;
-}
-</programlisting>
+				<example id="org.jboss.ejb.EntityPersistenceManager-The_org.jboss.ejb.EntityPersistenceManager_interface"><title>The org.jboss.ejb.EntityPersistenceManager interface</title>
+					<programlisting>public interface EntityPersistenceManager 
+						extends ContainerPlugin
+						{
+						/**
+						* Returns a new instance of the bean class or a subclass of the
+						* bean class.
+						*
+						* @return the new instance
+						*/
+						Object createBeanClassInstance() throws Exception;
+						
+						/**
+						* This method is called whenever an entity is to be created. The
+						* persistence manager is responsible for calling the ejbCreate method
+						* on the instance and to handle the results properly wrt the persistent
+						* store.
+						*
+						* @param m the create method in the home interface that was
+						* called
+						* @param args any create parameters
+						* @param instance the instance being used for this create call
+						*/
+						void createEntity(Method m,
+						Object[] args,
+						EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called whenever an entity is to be created. The
+						* persistence manager is responsible for calling the ejbPostCreate method
+						* on the instance and to handle the results properly wrt the persistent
+						* store.
+						*
+						* @param m the create method in the home interface that was
+						* called
+						* @param args any create parameters
+						* @param instance the instance being used for this create call
+						*/
+						void postCreateEntity(Method m,
+						Object[] args,
+						EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called when single entities are to be found. The
+						* persistence manager must find out whether the wanted instance is
+						* available in the persistence store, and if so it shall use the
+						* ContainerInvoker plugin to create an EJBObject to the instance, which
+						* is to be returned as result.
+						*
+						* @param finderMethod the find method in the home interface that was
+						* called
+						* @param args any finder parameters
+						* @param instance the instance to use for the finder call
+						* @return an EJBObject representing the found entity
+						*/
+						Object findEntity(Method finderMethod,
+						Object[] args,
+						EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called when collections of entities are to be
+						* found. The persistence manager must find out whether the wanted
+						* instances are available in the persistence store, and if so it
+						* shall use the ContainerInvoker plugin to create EJBObjects to
+						* the instances, which are to be returned as result.
+						*
+						* @param finderMethod the find method in the home interface that was
+						* called
+						* @param args any finder parameters
+						* @param instance the instance to use for the finder call
+						* @return an EJBObject collection representing the found
+						* entities
+						*/
+						Collection findEntities(Method finderMethod,
+						Object[] args,
+						EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called when an entity shall be activated. The
+						* persistence manager must call the ejbActivate method on the
+						* instance.
+						*
+						* @param instance the instance to use for the activation
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void activateEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is called whenever an entity shall be load from the
+						* underlying storage. The persistence manager must load the state
+						* from the underlying storage and then call ejbLoad on the
+						* supplied instance.
+						*
+						* @param instance the instance to synchronize
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void loadEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is used to determine if an entity should be stored.
+						*
+						* @param instance the instance to check
+						* @return true, if the entity has been modified
+						* @throws Exception thrown if some system exception occurs
+						*/
+						boolean isModified(EntityEnterpriseContext instance) throws Exception;
+						
+						/**
+						* This method is called whenever an entity shall be stored to the
+						* underlying storage. The persistence manager must call ejbStore
+						* on the supplied instance and then store the state to the
+						* underlying storage.
+						*
+						* @param instance the instance to synchronize
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void storeEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is called when an entity shall be passivate. The
+						* persistence manager must call the ejbPassivate method on the
+						* instance.
+						*
+						* @param instance the instance to passivate
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void passivateEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is called when an entity shall be removed from the
+						* underlying storage. The persistence manager must call ejbRemove
+						* on the instance and then remove its state from the underlying
+						* storage.
+						*
+						* @param instance the instance to remove
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						* @throws RemoveException thrown if the instance could not be removed
+						*/
+						void removeEntity(EntityEnterpriseContext instance)
+						throws RemoteException, RemoveException;
+						}
+					</programlisting>
 				</example>
 			</section>
 			
-			<section id="Container_Plug_in_Framework_-The_org.jboss.ejb.EntityPersistenceStore_interface">
+			<section id="Container_Plug_in_Framework-The_org.jboss.ejb.EntityPersistenceStore_interface">
 				<title>The org.jboss.ejb.EntityPersistenceStore interface</title>
 				<para>
 					As per the EJB 2.1 specification, JBoss supports two entity bean persistence semantics: container managed persistence (CMP) and bean managed persistence (BMP). The CMP implementation uses an implementation of the <literal>org.jboss.ejb.EntityPersistanceStore</literal> interface. By default this is the <literal>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</literal> which is the entry point for the CMP2 persistence engine. The <literal>EntityPersistanceStore</literal> interface is shown below.
 				</para>
-				<example id="The_org.jboss.ejb.EntityPersistenceStore_interface-_The_org.jboss.ejb.EntityPersistanceStore_interface"><title> The org.jboss.ejb.EntityPersistanceStore interface</title>
-<programlisting>public interface EntityPersistenceStore 
-    extends ContainerPlugin
-{
-    /**
-     * Returns a new instance of the bean class or a subclass of the
-     * bean class.
-     *
-     * @return the new instance
-     *
-     * @throws Exception
-     */
-    Object createBeanClassInstance() 
-        throws Exception;
-    
-    /**
-     * Initializes the instance context.
-     *
-     * &lt;p&gt;This method is called before createEntity, and should
-     * reset the value of all cmpFields to 0 or null.
-     *
-     * @param ctx
-     *
-     * @throws RemoteException
-     */
-    void initEntity(EntityEnterpriseContext ctx);
-    
-    /**
-     * This method is called whenever an entity is to be created.  The
-     * persistence manager is responsible for handling the results
-     * properly wrt the persistent store.
-     *
-     * @param m the create method in the home interface that was
-     * called
-     * @param args any create parameters
-     * @param instance the instance being used for this create call
-     * @return The primary key computed by CMP PM or null for BMP
-     *
-     * @throws Exception
-     */
-    Object createEntity(Method m,
-			Object[] args,
-			EntityEnterpriseContext instance)
-        throws Exception;
-    
-    /**
-     * This method is called when single entities are to be found. The
-     * persistence manager must find out whether the wanted instance
-     * is available in the persistence store, if so it returns the
-     * primary key of the object.
-     *
-     * @param finderMethod the find method in the home interface that was
-     * called
-     * @param args any finder parameters
-     * @param instance the instance to use for the finder call
-     * @return a primary key representing the found entity
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     * @throws FinderException thrown if some heuristic problem occurs
-     */
-    Object findEntity(Method finderMethod,
-		      Object[] args,
-		      EntityEnterpriseContext instance)
-        throws Exception;
-    
-    /**
-     * This method is called when collections of entities are to be
-     * found. The persistence manager must find out whether the wanted
-     * instances are available in the persistence store, and if so it
-     * must return a collection of primaryKeys.
-     *
-     * @param finderMethod the find method in the home interface that was
-     * called
-     * @param args any finder parameters
-     * @param instance the instance to use for the finder call
-     * @return an primary key collection representing the found
-     * entities
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     * @throws FinderException thrown if some heuristic problem occurs
-     */
-    Collection findEntities(Method finderMethod,
-			    Object[] args,
-			    EntityEnterpriseContext instance)
-        throws Exception;
-    
-    /**
-     * This method is called when an entity shall be activated.
-     *
-     * &lt;p&gt;With the PersistenceManager factorization most EJB
-     * calls should not exists However this calls permits us to
-     * introduce optimizations in the persistence store. Particularly
-     * the context has a "PersistenceContext" that a PersistenceStore
-     * can use (JAWS does for smart updates) and this is as good a
-     * callback as any other to set it up.
-     * @param instance the instance to use for the activation
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void activateEntity(EntityEnterpriseContext instance)
-        throws RemoteException;
-    
-    /**
-     * This method is called whenever an entity shall be load from the
-     * underlying storage. The persistence manager must load the state
-     * from the underlying storage and then call ejbLoad on the
-     * supplied instance.
-     *
-     * @param instance the instance to synchronize
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void loadEntity(EntityEnterpriseContext instance)
-        throws RemoteException;
-    
-    /**
-     * This method is used to determine if an entity should be stored.
-     *
-     * @param instance the instance to check
-     * @return true, if the entity has been modified
-     * @throws Exception thrown if some system exception occurs
-     */
-    boolean isModified(EntityEnterpriseContext instance)
-        throws Exception;
-    
-    /**
-     * This method is called whenever an entity shall be stored to the
-     * underlying storage. The persistence manager must call ejbStore
-     * on the supplied instance and then store the state to the
-     * underlying storage.
-     *
-     * @param instance the instance to synchronize
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void storeEntity(EntityEnterpriseContext instance)
-        throws RemoteException;
-    
-    /**
-     * This method is called when an entity shall be passivate. The
-     * persistence manager must call the ejbPassivate method on the
-     * instance.
-     *
-     * &lt;p&gt;See the activate discussion for the reason for
-     * exposing EJB callback * calls to the store.
-     *
-     * @param instance the instance to passivate
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     */
-    void passivateEntity(EntityEnterpriseContext instance)
-        throws RemoteException;
-    
-    /**
-     * This method is called when an entity shall be removed from the
-     * underlying storage. The persistence manager must call ejbRemove
-     * on the instance and then remove its state from the underlying
-     * storage.
-     *
-     * @param instance the instance to remove
-     *
-     * @throws RemoteException thrown if some system exception occurs
-     * @throws RemoveException thrown if the instance could not be removed
-     */
-    void removeEntity(EntityEnterpriseContext instance)
-        throws RemoteException, RemoveException;
-}
-</programlisting>
+				<example id="The_org.jboss.ejb.EntityPersistenceStore_interface-The_org.jboss.ejb.EntityPersistanceStore_interface"><title>The org.jboss.ejb.EntityPersistanceStore interface</title>
+					<programlisting>public interface EntityPersistenceStore 
+						extends ContainerPlugin
+						{
+						/**
+						* Returns a new instance of the bean class or a subclass of the
+						* bean class.
+						*
+						* @return the new instance
+						*
+						* @throws Exception
+						*/
+						Object createBeanClassInstance() 
+						throws Exception;
+						
+						/**
+						* Initializes the instance context.
+						*
+						* &lt;p&gt;This method is called before createEntity, and should
+						* reset the value of all cmpFields to 0 or null.
+						*
+						* @param ctx
+						*
+						* @throws RemoteException
+						*/
+						void initEntity(EntityEnterpriseContext ctx);
+						
+						/**
+						* This method is called whenever an entity is to be created.  The
+						* persistence manager is responsible for handling the results
+						* properly wrt the persistent store.
+						*
+						* @param m the create method in the home interface that was
+						* called
+						* @param args any create parameters
+						* @param instance the instance being used for this create call
+						* @return The primary key computed by CMP PM or null for BMP
+						*
+						* @throws Exception
+						*/
+						Object createEntity(Method m,
+						Object[] args,
+						EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called when single entities are to be found. The
+						* persistence manager must find out whether the wanted instance
+						* is available in the persistence store, if so it returns the
+						* primary key of the object.
+						*
+						* @param finderMethod the find method in the home interface that was
+						* called
+						* @param args any finder parameters
+						* @param instance the instance to use for the finder call
+						* @return a primary key representing the found entity
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						* @throws FinderException thrown if some heuristic problem occurs
+						*/
+						Object findEntity(Method finderMethod,
+						Object[] args,
+						EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called when collections of entities are to be
+						* found. The persistence manager must find out whether the wanted
+						* instances are available in the persistence store, and if so it
+						* must return a collection of primaryKeys.
+						*
+						* @param finderMethod the find method in the home interface that was
+						* called
+						* @param args any finder parameters
+						* @param instance the instance to use for the finder call
+						* @return an primary key collection representing the found
+						* entities
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						* @throws FinderException thrown if some heuristic problem occurs
+						*/
+						Collection findEntities(Method finderMethod,
+						Object[] args,
+						EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called when an entity shall be activated.
+						*
+						* &lt;p&gt;With the PersistenceManager factorization most EJB
+						* calls should not exists However this calls permits us to
+						* introduce optimizations in the persistence store. Particularly
+						* the context has a "PersistenceContext" that a PersistenceStore
+						* can use (JAWS does for smart updates) and this is as good a
+						* callback as any other to set it up.
+						* @param instance the instance to use for the activation
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void activateEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is called whenever an entity shall be load from the
+						* underlying storage. The persistence manager must load the state
+						* from the underlying storage and then call ejbLoad on the
+						* supplied instance.
+						*
+						* @param instance the instance to synchronize
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void loadEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is used to determine if an entity should be stored.
+						*
+						* @param instance the instance to check
+						* @return true, if the entity has been modified
+						* @throws Exception thrown if some system exception occurs
+						*/
+						boolean isModified(EntityEnterpriseContext instance)
+						throws Exception;
+						
+						/**
+						* This method is called whenever an entity shall be stored to the
+						* underlying storage. The persistence manager must call ejbStore
+						* on the supplied instance and then store the state to the
+						* underlying storage.
+						*
+						* @param instance the instance to synchronize
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void storeEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is called when an entity shall be passivate. The
+						* persistence manager must call the ejbPassivate method on the
+						* instance.
+						*
+						* &lt;p&gt;See the activate discussion for the reason for
+						* exposing EJB callback * calls to the store.
+						*
+						* @param instance the instance to passivate
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						*/
+						void passivateEntity(EntityEnterpriseContext instance)
+						throws RemoteException;
+						
+						/**
+						* This method is called when an entity shall be removed from the
+						* underlying storage. The persistence manager must call ejbRemove
+						* on the instance and then remove its state from the underlying
+						* storage.
+						*
+						* @param instance the instance to remove
+						*
+						* @throws RemoteException thrown if some system exception occurs
+						* @throws RemoveException thrown if the instance could not be removed
+						*/
+						void removeEntity(EntityEnterpriseContext instance)
+						throws RemoteException, RemoveException;
+						}
+					</programlisting>
 				</example><para>
 					The default BMP implementation of the <literal>EntityPersistenceManager</literal> interface is <literal>org.jboss.ejb.plugins.BMPPersistenceManager</literal>. The BMP persistence manager is fairly simple since all persistence logic is in the entity bean itself. The only duty of the persistence manager is to perform container callbacks.
 				</para>
 			</section>
 			
-			<section id="Container_Plug_in_Framework_-org.jboss.ejb.StatefulSessionPersistenceManager">
+			<section id="Container_Plug_in_Framework-org.jboss.ejb.StatefulSessionPersistenceManager">
 				<title>org.jboss.ejb.StatefulSessionPersistenceManager</title>
 				<para>
 					The <literal>StatefulSessionPersistenceManager</literal> is responsible for the persistence of stateful <literal>SessionBeans</literal>. This includes the following:
@@ -1928,32 +1928,32 @@
 					The <literal>StatefulSessionPersistenceManager</literal> interface is shown below.
 				</para>
 				<example id="org.jboss.ejb.StatefulSessionPersistenceManager-The_org.jboss.ejb.StatefulSessionPersistenceManager_interface"><title>The org.jboss.ejb.StatefulSessionPersistenceManager interface</title>
-<programlisting>public interface StatefulSessionPersistenceManager 
-    extends ContainerPlugin
-{
-    public void createSession(Method m, Object[] args,
-			      StatefulSessionEnterpriseContext ctx)
-	throws Exception;
-    
-    public void activateSession(StatefulSessionEnterpriseContext ctx)
-	throws RemoteException;
-    
-    public void passivateSession(StatefulSessionEnterpriseContext ctx)
-	throws RemoteException;
-    
-    public void removeSession(StatefulSessionEnterpriseContext ctx)
-	throws RemoteException, RemoveException;
-    
-    public void removePassivated(Object key);
-}
-</programlisting>
+					<programlisting>public interface StatefulSessionPersistenceManager 
+						extends ContainerPlugin
+						{
+						public void createSession(Method m, Object[] args,
+						StatefulSessionEnterpriseContext ctx)
+						throws Exception;
+						
+						public void activateSession(StatefulSessionEnterpriseContext ctx)
+						throws RemoteException;
+						
+						public void passivateSession(StatefulSessionEnterpriseContext ctx)
+						throws RemoteException;
+						
+						public void removeSession(StatefulSessionEnterpriseContext ctx)
+						throws RemoteException, RemoveException;
+						
+						public void removePassivated(Object key);
+						}
+					</programlisting>
 				</example><para>
 					The default implementation of the <literal>StatefulSessionPersistenceManager</literal> interface is <literal>org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager</literal>. As its name implies, <literal>StatefulSessionFilePersistenceManager</literal> utilizes the file system to persist stateful session beans. More specifically, the persistence manager serializes beans in a flat file whose name is composed of the bean name and session id with a <literal>.ser</literal> extension. The persistence manager restores a bean&#39;s state during activation and respectively stores its state during passivation from the bean&#39;s <literal>.ser</literal> file.
 				</para>
 			</section>
-
+			
 		</section>
-
+		
 	</section>
 	
 	<section id="EJBs_on_JBoss-Entity_Bean_Locking_and_Deadlock_Detection">
@@ -2030,22 +2030,22 @@
 			<para>
 				We saw that the basic entity bean lifecycle and behavior is defined by the container configuration defined in <literal>standardjboss.xml</literal> descriptor. Let&#39;s look at the <literal>container-interceptors</literal> definition for the <emphasis>Standard CMP 2.x EntityBean</emphasis> configuration.
 			</para>
-<programlisting>&lt;container-interceptors&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.LogInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.SecurityInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.TxInterceptorCMT&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.CallValidationInterceptor&lt;/interceptor&gt;
-    &lt;interceptor metricsEnabled="true"&gt;org.jboss.ejb.plugins.MetricsInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.EntityCreationInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.EntityLockInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.EntityInstanceInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.EntityReentranceInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.resource.connectionmanager.CachedConnectionInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.EntitySynchronizationInterceptor&lt;/interceptor&gt;
-    &lt;interceptor&gt;org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor&lt;/interceptor&gt;
-&lt;/container-interceptors&gt;
-</programlisting>
+			<programlisting>&lt;container-interceptors&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.LogInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.SecurityInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.TxInterceptorCMT&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.CallValidationInterceptor&lt;/interceptor&gt;
+				&lt;interceptor metricsEnabled="true"&gt;org.jboss.ejb.plugins.MetricsInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.EntityCreationInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.EntityLockInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.EntityInstanceInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.EntityReentranceInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.resource.connectionmanager.CachedConnectionInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.EntitySynchronizationInterceptor&lt;/interceptor&gt;
+				&lt;interceptor&gt;org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor&lt;/interceptor&gt;
+				&lt;/container-interceptors&gt;
+			</programlisting>
 			<para>
 				The interceptors shown above define most of the behavior of the entity bean. Below is an explanation of the interceptors that are relevant to this section.
 			</para>
@@ -2068,12 +2068,12 @@
 			</itemizedlist>
 		</section>
 		
-		<section id="Entity_Bean_Locking_and_Deadlock_Detection-Deadlock_">
-			<title>Deadlock </title>
+		<section id="Entity_Bean_Locking_and_Deadlock_Detection-Deadlock">
+			<title>Deadlock</title>
 			<para>
-				Finding deadlock problems and resolving them is the topic of this section. We will describe what deadlocking MBeans, how you can detect it within your application, and how you can resolve deadlocks. Deadlock can occur when two or more threads have locks on shared resources. <xref linkend="Deadlock_-Deadlock_definition_example" /> illustrates a simple deadlock scenario. Here, <literal>Thread 1</literal> has the lock for <literal>Bean A</literal>, and <literal>Thread 2</literal> has the lock for <literal>Bean B</literal>. At a later time, <literal>Thread 1</literal> tries to lock <literal>Bean B</literal> and blocks because <literal>Thread 2</literal> has it. Likewise, as <literal>Thread 2</literal> tries to lock A it also blocks because <literal>Thread 1</literal> has the lock. At this point both threads are deadlocked waiting for access to the resource already locked by the other thread.
+				Finding deadlock problems and resolving them is the topic of this section. We will describe what deadlocking MBeans, how you can detect it within your application, and how you can resolve deadlocks. Deadlock can occur when two or more threads have locks on shared resources. <xref linkend="Deadlock-Deadlock_definition_example" /> illustrates a simple deadlock scenario. Here, <literal>Thread 1</literal> has the lock for <literal>Bean A</literal>, and <literal>Thread 2</literal> has the lock for <literal>Bean B</literal>. At a later time, <literal>Thread 1</literal> tries to lock <literal>Bean B</literal> and blocks because <literal>Thread 2</literal> has it. Likewise, as <literal>Thread 2</literal> tries to lock A it also blocks because <literal>Thread 1</literal> has the lock. At this point both threads are deadlocked waiting for access to the resource already locked by the other thread.
 			</para>
-			<figure id="Deadlock_-Deadlock_definition_example">
+			<figure id="Deadlock-Deadlock_definition_example">
 				<title>Deadlock definition example</title>
 				<mediaobject>
 					<imageobject>
@@ -2084,7 +2084,7 @@
 			<para>
 				The default locking policy of JBoss is to lock an Entity bean when an invocation occurs in the context of a transaction until the transaction completes. Because of this, it is very easy to encounter deadlock if you have long running transactions that access many entity beans, or if you are not careful about ordering the access to them. Various techniques and advanced configurations can be used to avoid deadlocking problems. They are discussed later in this section.
 			</para>
-			<section id="Deadlock_-Deadlock_Detection">
+			<section id="Deadlock-Deadlock_Detection">
 				<title>Deadlock Detection</title>
 				<para>
 					Fortunately, JBoss is able to perform deadlock detection. JBoss holds a global internal graph of waiting transactions and what transactions they are blocking on. Whenever a thread determines that it cannot acquire an entity bean lock, it figures out what transaction currently holds the lock on the bean and add itself to the blocked transaction graph. An example of what the graph may look like is given in <xref linkend="Deadlock_Detection-An_example_blocked_transaction_table" />.
@@ -2135,38 +2135,38 @@
 				</para>
 			</section>
 			
-			<section id="Deadlock_-Catching_ApplicationDeadlockException">
+			<section id="Deadlock-Catching_ApplicationDeadlockException">
 				<title>Catching ApplicationDeadlockException</title>
 				<para>
 					Since JBoss can detect application deadlock, you should write your application so that it can retry a transaction if the invocation fails because of the <literal>ApplicationDeadlockException</literal>. Unfortunately, this exception can be deeply embedded within a <literal>RemoteException</literal>, so you have to search for it in your catch block. For example:
 				</para>
-<programlisting>try {
-    // ...
-} catch (RemoteException ex) {
-    Throwable cause = null;
-    RemoteException rex = ex;
-    while (rex.detail != null) {
-        cause = rex.detail;
-        if (cause instanceof ApplicationDeadlockException) {
-	        // ... We have deadlock, force a retry of the transaction.
-            break;
-        }
-        if (cause instanceof RemoteException) {
-            rex = (RemoteException)cause;
-        }
-    }
-}
-</programlisting>
+				<programlisting>try {
+					// ...
+					} catch (RemoteException ex) {
+					Throwable cause = null;
+					RemoteException rex = ex;
+					while (rex.detail != null) {
+					cause = rex.detail;
+					if (cause instanceof ApplicationDeadlockException) {
+					// ... We have deadlock, force a retry of the transaction.
+					break;
+					}
+					if (cause instanceof RemoteException) {
+					rex = (RemoteException)cause;
+					}
+					}
+					}
+				</programlisting>
 			</section>
 			
-			<section id="Deadlock_-Viewing_Lock_Information">
+			<section id="Deadlock-Viewing_Lock_Information">
 				<title>Viewing Lock Information</title>
 				<para>
 					The <literal>EntityLockMonitor</literal> MBean service allows one to view basic locking statistics as well as printing out the state of the transaction locking table. To enable this monitor uncomment its configuration in the <literal>conf/jboss-service.xml</literal>:
 				</para>
-<programlisting>&lt;mbean code="org.jboss.monitor.EntityLockMonitor"
-       name="jboss.monitor:name=EntityLockMonitor"/&gt;
-</programlisting>
+				<programlisting>&lt;mbean code="org.jboss.monitor.EntityLockMonitor"
+					name="jboss.monitor:name=EntityLockMonitor"/&gt;
+				</programlisting>
 				<para>
 					The <literal>EntityLockMonitor</literal> has no configurable attributes. It does have the following read-only attributes:
 				</para>
@@ -2208,7 +2208,7 @@
 					</listitem>
 				</itemizedlist>
 			</section>
-
+			
 		</section>
 		
 		<section id="Entity_Bean_Locking_and_Deadlock_Detection-Advanced_Configurations_and_Optimizations">
@@ -2239,16 +2239,16 @@
 					To mark a bean as read-only, use the <literal>read-only</literal> flag in the <literal>jboss.xml</literal> deployment descriptor.
 				</para>
 				<example id="Read_Only_Beans-Marking_an_entity_bean_read_only_using_jboss.xml"><title>Marking an entity bean read-only using jboss.xml</title>
-<programlisting>&lt;jboss&gt;
-    &lt;enterprise-beans&gt;
-        &lt;entity&gt;
-            &lt;ejb-name&gt;MyEntityBean&lt;/ejb-name&gt;
-            &lt;jndi-name&gt;MyEntityHomeRemote&lt;/jndi-name&gt;
-            &lt;read-only&gt;True&lt;/read-only&gt;
-        &lt;/entity&gt;
-    &lt;/enterprise-beans&gt;
-&lt;/jboss&gt;
-</programlisting>
+					<programlisting>&lt;jboss&gt;
+						&lt;enterprise-beans&gt;
+						&lt;entity&gt;
+						&lt;ejb-name&gt;MyEntityBean&lt;/ejb-name&gt;
+						&lt;jndi-name&gt;MyEntityHomeRemote&lt;/jndi-name&gt;
+						&lt;read-only&gt;True&lt;/read-only&gt;
+						&lt;/entity&gt;
+						&lt;/enterprise-beans&gt;
+						&lt;/jboss&gt;
+					</programlisting>
 				</example>
 			</section>
 			
@@ -2258,25 +2258,25 @@
 					After reading and understanding the default locking behavior of entity beans, you&#39;re probably wondering, "Why lock the bean if its not modifying the data?" JBoss allows you to define what methods on your entity bean are read only so that it will not lock the bean within the transaction if only these types of methods are called. You can define these read only methods within a <literal>jboss.xml</literal> deployment descriptor. Wildcards are allowed for method names. The following is an example of declaring all getter methods and the <literal>anotherReadOnlyMethod</literal> as read-only.
 				</para>
 				<example id="Explicitly_Defining_Read_Only_Methods-Defining_entity_bean_methods_as_read_only"><title>Defining entity bean methods as read only</title>
-<programlisting>&lt;jboss&gt;
-    &lt;enterprise-beans&gt;
-        &lt;entity&gt;
-            &lt;ejb-name&gt;nextgen.EnterpriseEntity&lt;/ejb-name&gt;
-            &lt;jndi-name&gt;nextgen.EnterpriseEntity&lt;/jndi-name&gt;
-            &lt;method-attributes&gt;
-                &lt;method&gt;
-                    &lt;method-name&gt;get*&lt;/method-name&gt;
-                    &lt;read-only&gt;true&lt;/read-only&gt;
-                &lt;/method&gt;
-                &lt;method&gt;
-                    &lt;method-name&gt;anotherReadOnlyMethod&lt;/method-name&gt;
-                    &lt;read-only&gt;true&lt;/read-only&gt;
-                &lt;/method&gt;
-            &lt;/method-attributes&gt;
-        &lt;/entity&gt;
-    &lt;/enterprise-beans&gt;
-&lt;/jboss&gt; 
-</programlisting>
+					<programlisting>&lt;jboss&gt;
+						&lt;enterprise-beans&gt;
+						&lt;entity&gt;
+						&lt;ejb-name&gt;nextgen.EnterpriseEntity&lt;/ejb-name&gt;
+						&lt;jndi-name&gt;nextgen.EnterpriseEntity&lt;/jndi-name&gt;
+						&lt;method-attributes&gt;
+						&lt;method&gt;
+						&lt;method-name&gt;get*&lt;/method-name&gt;
+						&lt;read-only&gt;true&lt;/read-only&gt;
+						&lt;/method&gt;
+						&lt;method&gt;
+						&lt;method-name&gt;anotherReadOnlyMethod&lt;/method-name&gt;
+						&lt;read-only&gt;true&lt;/read-only&gt;
+						&lt;/method&gt;
+						&lt;/method-attributes&gt;
+						&lt;/entity&gt;
+						&lt;/enterprise-beans&gt;
+						&lt;/jboss&gt; 
+					</programlisting>
 				</example>
 			</section>
 			
@@ -2292,28 +2292,28 @@
 					JBoss has container configurations named <literal>Instance Per Transaction CMP 2.x EntityBean</literal> and <literal>Instance Per Transaction BMP EntityBean</literal> defined in the standardjboss.xml that implement this locking policy. To use this configuration, you just have to reference the name of the container configuration to use with your bean in the jboss.xml deployment descriptor as show below.
 				</para>
 				<example id="Instance_Per_Transaction_Policy-An_example_of_using_the_Instance_Per_Transaction_policy."><title>An example of using the Instance Per Transaction policy.</title>
-<programlisting>&lt;jboss&gt;
-    &lt;enterprise-beans&gt;
-        &lt;entity&gt;
-            &lt;ejb-name&gt;MyCMP2Bean&lt;/ejb-name&gt;
-            &lt;jndi-name&gt;MyCMP2&lt;/jndi-name&gt;
-            &lt;configuration-name&gt;
-                Instance Per Transaction CMP 2.x EntityBean
-            &lt;/configuration-name&gt;
-        &lt;/entity&gt;
-        &lt;entity&gt;
-            &lt;ejb-name&gt;MyBMPBean&lt;/ejb-name&gt;
-            &lt;jndi-name&gt;MyBMP&lt;/jndi-name&gt;
-            &lt;configuration-name&gt;
-                Instance Per Transaction BMP EntityBean
-            &lt;/configuration-name&gt;
-        &lt;/entity&gt;
-    &lt;/enterprise-beans&gt;
-&lt;/jboss&gt;
-</programlisting>
+					<programlisting>&lt;jboss&gt;
+						&lt;enterprise-beans&gt;
+						&lt;entity&gt;
+						&lt;ejb-name&gt;MyCMP2Bean&lt;/ejb-name&gt;
+						&lt;jndi-name&gt;MyCMP2&lt;/jndi-name&gt;
+						&lt;configuration-name&gt;
+						Instance Per Transaction CMP 2.x EntityBean
+						&lt;/configuration-name&gt;
+						&lt;/entity&gt;
+						&lt;entity&gt;
+						&lt;ejb-name&gt;MyBMPBean&lt;/ejb-name&gt;
+						&lt;jndi-name&gt;MyBMP&lt;/jndi-name&gt;
+						&lt;configuration-name&gt;
+						Instance Per Transaction BMP EntityBean
+						&lt;/configuration-name&gt;
+						&lt;/entity&gt;
+						&lt;/enterprise-beans&gt;
+						&lt;/jboss&gt;
+					</programlisting>
 				</example>
 			</section>
-
+			
 		</section>
 		
 		<section id="Entity_Bean_Locking_and_Deadlock_Detection-Running_Within_a_Cluster">
@@ -2365,9 +2365,9 @@
 					One long outstanding bug of JBoss is that on a transaction timeout, that transaction is only marked for a rollback and not actually rolled back. This responsibility is delegated to the invocation thread. This can cause major problems if the invocation thread hangs indefinitely since things like entity bean locks will never be released. The solution to this problem is not a good one. You really just need to avoid doing stuff within a transaction that could hang indefinitely. One common mistake is making connections across the internet or running a web-crawler within a transaction.
 				</para>
 			</section>
-
+			
 		</section>
-
+		
 	</section>
 	
 	<section id="EJBs_on_JBoss-EJB_Timer_Configuration">
@@ -2378,13 +2378,13 @@
 		<para>
 			The EJB timer service is configure by several related MBeans in the <literal>ejb-deployer.xml</literal> file. The primary MBean is the <literal>EJBTimerService</literal> MBean.
 		</para>
-<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.EJBTimerServiceImpl" name="jboss.ejb:service=EJBTimerService"&gt;
-    &lt;attribute name="RetryPolicy"&gt;jboss.ejb:service=EJBTimerService,retryPolicy=fixedDelay&lt;/attribute&gt;
-    &lt;attribute name="PersistencePolicy"&gt;jboss.ejb:service=EJBTimerService,persistencePolicy=database&lt;/attribute&gt;
-    &lt;attribute name="TimerIdGeneratorClassName"&gt;org.jboss.ejb.txtimer.BigIntegerTimerIdGenerator&lt;/attribute&gt;
-    &lt;attribute name="TimedObjectInvokerClassName"&gt;org.jboss.ejb.txtimer.TimedObjectInvokerImpl&lt;/attribute&gt;
-&lt;/mbean&gt; 
-</programlisting>
+		<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.EJBTimerServiceImpl" name="jboss.ejb:service=EJBTimerService"&gt;
+			&lt;attribute name="RetryPolicy"&gt;jboss.ejb:service=EJBTimerService,retryPolicy=fixedDelay&lt;/attribute&gt;
+			&lt;attribute name="PersistencePolicy"&gt;jboss.ejb:service=EJBTimerService,persistencePolicy=database&lt;/attribute&gt;
+			&lt;attribute name="TimerIdGeneratorClassName"&gt;org.jboss.ejb.txtimer.BigIntegerTimerIdGenerator&lt;/attribute&gt;
+			&lt;attribute name="TimedObjectInvokerClassName"&gt;org.jboss.ejb.txtimer.TimedObjectInvokerImpl&lt;/attribute&gt;
+			&lt;/mbean&gt; 
+		</programlisting>
 		<para>
 			The <literal>EJBTimerService</literal> has the following configurable attributes:
 		</para>
@@ -2413,11 +2413,11 @@
 		<para>
 			The retry policy MBean definition used is shown here:
 		</para>
-<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.FixedDelayRetryPolicy"
-       name="jboss.ejb:service=EJBTimerService,retryPolicy=fixedDelay"&gt;
-    &lt;attribute name="Delay"&gt;100&lt;/attribute&gt;
-&lt;/mbean&gt;
-</programlisting>
+		<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.FixedDelayRetryPolicy"
+			name="jboss.ejb:service=EJBTimerService,retryPolicy=fixedDelay"&gt;
+			&lt;attribute name="Delay"&gt;100&lt;/attribute&gt;
+			&lt;/mbean&gt;
+		</programlisting>
 		<para>
 			The retry policy takes one configuration value:
 		</para>
@@ -2431,20 +2431,20 @@
 		<para>
 			If EJB timers do not need to be persisted, the <literal>NoopPersistence</literal> policy can be used. This MBean is commented out by default, but when enabled will look like this:
 		</para>
-<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.NoopPersistencePolicy" 
-       name="jboss.ejb:service=EJBTimerService,persistencePolicy=noop"/&gt;
-</programlisting>
+		<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.NoopPersistencePolicy" 
+			name="jboss.ejb:service=EJBTimerService,persistencePolicy=noop"/&gt;
+		</programlisting>
 		<para>
 			Most applications that use timers will want timers to be persisted. For that the <literal>DatabasePersitencePolicy</literal> MBean should be used.
 		</para>
-<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.DatabasePersistencePolicy" 
-       name="jboss.ejb:service=EJBTimerService,persistencePolicy=database"&gt;
-    &lt;!-- DataSource JNDI name --&gt;
-    &lt;depends optional-attribute-name="DataSource"&gt;jboss.jca:service=DataSourceBinding,name=DefaultDS&lt;/depends&gt;
-    &lt;!-- The plugin that handles database persistence --&gt;
-    &lt;attribute name="DatabasePersistencePlugin"&gt;org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin&lt;/attribute&gt;
-&lt;/mbean&gt;
-</programlisting>
+		<programlisting>&lt;mbean code="org.jboss.ejb.txtimer.DatabasePersistencePolicy" 
+			name="jboss.ejb:service=EJBTimerService,persistencePolicy=database"&gt;
+			&lt;!-- DataSource JNDI name --&gt;
+			&lt;depends optional-attribute-name="DataSource"&gt;jboss.jca:service=DataSourceBinding,name=DefaultDS&lt;/depends&gt;
+			&lt;!-- The plugin that handles database persistence --&gt;
+			&lt;attribute name="DatabasePersistencePlugin"&gt;org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin&lt;/attribute&gt;
+			&lt;/mbean&gt;
+		</programlisting>
 		<itemizedlist>
 			<listitem>
 				<para>
@@ -2458,6 +2458,6 @@
 			</listitem>
 		</itemizedlist>
 	</section>
-
+	
 </chapter>
 

Modified: projects/docs/trunk/Server_Configuration_Guide/en-US/Server_Configuration_Guide.xml
===================================================================
--- projects/docs/trunk/Server_Configuration_Guide/en-US/Server_Configuration_Guide.xml	2007-11-09 03:01:00 UTC (rev 66896)
+++ projects/docs/trunk/Server_Configuration_Guide/en-US/Server_Configuration_Guide.xml	2007-11-09 05:09:10 UTC (rev 66897)
@@ -8,41 +8,32 @@
 	<xi:include href="About_JBoss.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="About_Open_Source.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="About_Professional_Open_Source.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
 	<part id="Java_EE_5_Application_Configuration" label="I">
 		<title>Java EE 5 Application Configuration</title>
 		<xi:include href="EJB3.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 		<xi:include href="Deploy.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	</part>
-<!-- NOTE: THERE IS A PROBLEM IN THE PART BELOW	-->
+	
 	<part id="JBoss_AS_Infrastructure" label="II">
 		<title>JBoss AS Infrastructure</title>
-	<xi:include href="J2EE_Reference_Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+		<xi:include href="J2EE_Reference_Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 		<xi:include href="Naming.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 		<xi:include href="J2EE_Connectors_On_JBOSS.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 		<xi:include href="Transactions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 		<xi:include href="J2EE_Messaging_On_JBOSS.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="J2EE_Security_On_JBOSS.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Web_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="J2EE_Additional_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+		<xi:include href="J2EE_Security_On_JBOSS.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+		<xi:include href="Web_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+		<xi:include href="J2EE_Additional_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	</part>
 	
-<!--	<part id="Clustering_Configuration" label="III">
-		<title>Clustering Configuration</title>
-		<xi:include href="Clustering_Intro.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-		<xi:include href="JBossCache_And_JGroups_Services.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-		<xi:include href="Clustering.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	</part>-->
-	
-<!--  NOTE: THERE IS A PROBLEM IN THE PART BELOW	-->
-	<part id="Legacy_EJB_Support" label="IV">
+	<part id="Legacy_EJB_Support" label="III">
 		<title>Legacy EJB Support</title>
-	<xi:include href="J2EE_EJBs_On_JBOSS.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 
+		<xi:include href="J2EE_EJBs_On_JBOSS.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 
 		<xi:include href="The_CMP_Engine.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	</part>
 	
-	<xi:include href="Book_Example_Installation.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Alternative_DBs.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
+		<xi:include href="Book_Example_Installation.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+		<xi:include href="Alternative_DBs.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 </book>
 




More information about the jboss-cvs-commits mailing list