[jboss-cvs] JBossAS SVN: r85386 - projects/ejb3/trunk/docs/tutorial/guide/en/modules.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 6 07:21:50 EST 2009


Author: jaikiran
Date: 2009-03-06 07:21:49 -0500 (Fri, 06 Mar 2009)
New Revision: 85386

Modified:
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/asynch.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/blob.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/cachedentity.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/callbacks.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/composite.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/dependency.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/ejb21_client_adaptors.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/embeddable.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/enterprise_app_ejb_injection.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/entity.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/extended_pc.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/hibernate.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/injection.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/interceptor.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/jboss_deployment_descriptor.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/jca_inflow_quartz.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/jndibinding.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/joininheritance.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb_deployment_descriptor.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/merge.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/reference21_30.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/relationships.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/resource_ref.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/secondary.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/security.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/service.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/service_deployment_descriptor.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/singleinheritance.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful_deployment_descriptor.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless_deployment_descriptor.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/tableperinheritance.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/timer.xml
Log:
EJBTHREE-1747 Updated the guide to explain how to run a single tutorial through Maven

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/asynch.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/asynch.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/asynch.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Asynchronous_Invocations">
-	
+
       <para>
          A JBoss extension to EJB 3.0 is that from the remote or local interface of a stateful session bean,
          stateless session bean or service bean you can obtain an asynchronous proxy. Methods called
          on the asynchronous proxy will be executed asynchronously, and the results can be obtained later on.
-      
+
       <important>
       	<para>
       		This JBoss specific feature of obtaining a asynchronous proxy to invoke any method on the bean asynchronously
@@ -14,13 +14,13 @@
       	</para>
       </important>
       </para>
-      
+
       <sect5>
       	Example :
       	<para>
       		Take a look at <literal>org.jboss.tutorial.asynch.bean.Echo</literal> and <literal>org.jboss.tutorial.asynch.bean.EchoBean</literal>.
-      		They define a normal stateless session bean with a remote interface, nothing special. Now take a look at 
-      		<literal>org.jboss.tutorial.asynch.client.Client</literal>. It shows an example of asynchronous calls on a remote interface. 
+      		They define a normal stateless session bean with a remote interface, nothing special. Now take a look at
+      		<literal>org.jboss.tutorial.asynch.client.Client</literal>. It shows an example of asynchronous calls on a remote interface.
       		We will walk through what it does here. The following lines just obtain the remote interface of the bean and call a method
       		following the standard synchronous usage pattern:
       		<programlisting>
@@ -29,12 +29,12 @@
 Echo echo = (Echo) ctx.lookup("EchoBean/remote");
 System.out.println("-------- Synchronous call");
 String ret = echo.echo("normal call");
-System.out.println(ret);      			
-      			
+System.out.println(ret);
+
       			]]>
-      		
+
       		</programlisting>
-      		
+
       		Next we obtain the asynchronous proxy and make a call via that. The method will be invoked asynchronously :
       		<programlisting>
       			<![CDATA[
@@ -42,30 +42,30 @@
 System.out.println("-------- Asynchronous call");
 ret = asynchEcho.echo("asynchronous call");
 System.out.println("Direct return of async invocation is: " + ret);
-      			
+
       			]]>
       		</programlisting>
       		We use the <literal>org.jboss.ejb3.common.proxy.plugins.async.AsyncUtils</literal>'s <literal>mixinAsync</literal> method to
-      		create the asynchronous proxy. All methods invoked on this proxy are invoked asynchronously, and the returned value will 
+      		create the asynchronous proxy. All methods invoked on this proxy are invoked asynchronously, and the returned value will
       		always be null (or 0 in the case of numeric primitive types). In this example, the echo() method called has low overhead,
       		but imagine if this was a method that took a long time. In this case it would be good to be able to go ahead with some other tasks.
       	</para>
       	<para>
       		In Client.java, we make another call on the normal remote interface while "waiting" for the asynchronous call:
-      		
+
       		<programlisting>
       			<![CDATA[
 System.out.println("-------- Synchronous call");
 ret = echo.echo("normal call 2");
-System.out.println(ret);      			
+System.out.println(ret);
       			]]>
       		</programlisting>
-      		
-      		Now that we have finished everything we want to do, while waiting for the asynchronus call to complete, we invoke the 
+
+      		Now that we have finished everything we want to do, while waiting for the asynchronus call to complete, we invoke the
       		<literal>getFutureResult(asynchProxy)</literal> API on the <literal>org.jboss.ejb3.common.proxy.plugins.async.AsyncUtils</literal>.
       		This will return us an instance of <literal>java.util.concurrent.Future</literal>. To obtain the final result of the asynchronous
       		call, we invoke the <literal>get()</literal> API on the returned <literal>java.util.concurrent.Future</literal> object.
-      		
+
       		<programlisting>
       			<![CDATA[
 System.out.println("-------- Result of Asynchronous call");
@@ -74,7 +74,7 @@
 // blocking call
 ret = (String) future.get();
 System.out.println(ret);
-      			
+
       			]]>
       		</programlisting>
       		<note>
@@ -83,17 +83,17 @@
       				for the operation to complete.
       			</para>
       		</note>
-     		
+
       	</para>
       </sect5>
-      
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -120,15 +120,15 @@
      [java] normal call 2
      [java] -------- Result of Asynchronous call
      [java] asynchronous call
-     
+
      ]]>
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/blob.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/blob.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/blob.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -30,14 +30,14 @@
 					char[], String, Character[]
 				</para>
 			</listitem>
-			
+
 		</itemizedlist>
 	</para>
-	
+
 	<para>
 	To use this feature just need to use the <literal>@javax.persistence.Lob</literal> annotation. The <literal>Lob</literal> annotation is an
 	encapsulation of what type of lob you want.  Below is an example of defining fields in an entity that are blobs or clobs.
-	
+
 		<programlisting>
 @Entity
 public class BlobEntity implements Serializable
@@ -82,8 +82,8 @@
 
 }
 		</programlisting>
-	</para>	
-	
+	</para>
+
 	<sect5>
 Working with Blobs and Clobs:
 	</sect5>
@@ -93,32 +93,32 @@
 uses.
 	</para>
 	<sect5>
-Blob creation:	
+Blob creation:
 	</sect5>
 	<para>
 		<literal>org.hibernate.Hibernate.createBlob(byte[] bytes)</literal>
 		<literal>org.hibernate.Hibernate.createBlob(InputStream stream, int length)</literal>
 		<literal>org.hibernate.Hibernate.createBlob(InputStream stream)</literal>
 	</para>
-	
+
 	<sect5>
-Clob creation:	
+Clob creation:
 	</sect5>
 	<para>
 		<literal>org.hibernate.Hibernate.createClob(String string)</literal>
 		<literal>org.hibernate.Hibernate.createClob(Reader reader, int length)</literal>
 	</para>
-	
+
 	<para>
 		Blobs and clobs must only be accessed within a transaction.  Blobs and clobs are also not serializable or detachable.
-	</para>	
-	
+	</para>
+
 	<sect5>
 Mapping Strings/byte[] to Clob/Blob:
-	</sect5>	
+	</sect5>
 	<para>
 		This is pretty easy, just look at BlobEntity2.java
-		
+
 		<programlisting>
 @Entity
 public class BlobEntity2 implements Serializable
@@ -162,19 +162,19 @@
 
 
 }
-			
+
 		</programlisting>
-		
+
 	</para>
-	
+
 	<para>
 		<sect5>
 Building and Running:
 		</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -192,24 +192,24 @@
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
 
 	</para>
-	
+
 	<sect5>
 View the tables and rows:
 	</sect5>
 	<para>
-		You can view the tables created by JBoss by going to the 
+		You can view the tables created by JBoss by going to the
 		<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 		A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-	
+
 	</para>
-	
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/cachedentity.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/cachedentity.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/cachedentity.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -3,46 +3,46 @@
 	<title>Caching EJB3 Entities</title>
 	<para>
 		This tutorial shows you how to cache your entities using EJB 3.0 for JBoss
-	
+
 	</para>
 	<sect5>
 		Caching primer :
-		
+
 		<para>
-			To avoid roundtrips to the database, you can use a cache for your entities. 
+			To avoid roundtrips to the database, you can use a cache for your entities.
 			JBoss EJB3 uses Hibernate as the JPA implementation which has support for a second-level cache.
 			The Hibernate setup used for our JBoss EJB 3.0 implementation uses JBossCache as its underlying cache
 			implementation. With caching enabled:
-			
+
 			<itemizedlist>
 				<listitem>
 					If you persist an entity (that has caching enabled) to the database via the entity manager
 					the entity will also be added to the cache. Subsequent requests to fetch the entity, with
 					this id, will be retrieved from cache and thus will save a database trip.
 				</listitem>
-				
+
 				<listitem>
 					If you update an entity (that has caching enabled) and save the changes to the database via
 					the entity manager the entity will also be updated in the cache.
 				</listitem>
-				
+
 				<listitem>
 					If you remove an entity (that has caching enabled) from the database via the entity manager
-					the entity will also be removed from the cache.				
+					the entity will also be removed from the cache.
 				</listitem>
-				
+
 			</itemizedlist>
 			JBossCache allows you to specify timeouts to cached entities. Entities not accessed within a certain
 			amount of time are dropped from the cache in order to save memory.
 		</para>
-		
+
 		<para>
 			Furthermore, JBossCache supports clustering. If running within a cluster, and the cache is updated,
 			changes to the entries in one node will be replicated to the corresponding entries in the other nodes
 			in the cluster.
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Enabling caching and choosing cache :
 		<para>
@@ -62,7 +62,7 @@
 				These properties in the persistence.xml enabling caching and also configure JBossCache as the Cache manager.
 				For more details about JBossCache and its configurations, have a look at the JBossCache project documentation.
 			</note>
-			
+
 			<note>
 				We have intentionally set the <literal>hibernate.show_sql</literal> property in the persistence.xml to true.
 				When this property is set, Hibernate will print to STDOUT the sql queries that are fired to the database, when
@@ -71,10 +71,10 @@
 			</note>
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Entities:
-		
+
 		<para>
 			You define your entities <literal>org.jboss.tutorial.cachedentity.bean.Customer</literal> and <literal>org.jboss.tutorial.cachedentity.bean.Contact</literal> the normal way.
 			The default behaviour is to not cache anything, even with the settings shown above, in the persistence.xml.
@@ -87,25 +87,25 @@
 @Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL)
 public class Customer implements java.io.Serializable
 {
-...				
+...
 				]]>
 			</programlisting>
-			
+
 			<programlisting>
 				<![CDATA[
 @Entity
 @Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL)
 public class Contact implements Serializable
 {
-...				
-				
+...
+
 				]]>
 			</programlisting>
 			This defines that the Customer and the Contact entities need to be cached. Any attempt to look up
 			<literal>Customer</literal> or <literal>Contact</literal> by their primary key, will first attempt
-			to read the entry from the cache. If it cannot be found it will try and load it up from the database. 	
+			to read the entry from the cache. If it cannot be found it will try and load it up from the database.
 		</para>
-	
+
 		<para>
 			You can also cache relationship collections. Any attempt to access the <literal>contacts</literal> collection of
 			<literal>Customer</literal> will attempt to load the data from the cache before hitting the database:
@@ -116,8 +116,8 @@
 @Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL)
 public class Customer implements java.io.Serializable
 {
-...	
-			
+...
+
    @Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL)
    @OneToMany(mappedBy="customer", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
    public Set<Contact> getContacts()
@@ -125,35 +125,35 @@
       return contacts;
    }
 ...
-}				
+}
 				]]>
-				
+
 			</programlisting>
-		
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Client :
 		<para>
-			Open <literal>org.jboss.tutorial.cachedentity.client.CachedEntityRun</literal>. It takes two arguments, they are the 
+			Open <literal>org.jboss.tutorial.cachedentity.client.CachedEntityRun</literal>. It takes two arguments, they are the
 			server:jndiport of the two nodes to use. If you look at the 'run' target of <literal>META-INF/build.xml</literal>
 			you will see that they both default to localhost:1099, so in this case node1 and node2 will be the same,
 			i.e. no clustering takes place.
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "cachedentity" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "cachedentity" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -172,20 +172,21 @@
      [java] Customer: id=1; name=JBoss
      [java]     Contact: id=2; name=Kabir
      [java]     Contact: id=1; name=Bill
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+		Maven Users: Make sure the AS is not running.
+	        </sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
+
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
+	</sect5>
 	<para>
 		On the server you will notice these logs:
 		<programlisting>
@@ -202,14 +203,14 @@
 02:14:04,682 INFO  [EntityTestBean] Customer with id = 1 found
 02:14:04,756 INFO  [EntityTestBean] Find customer with id = 1
 02:14:04,801 INFO  [EntityTestBean] Customer with id = 1 found
-			
+
 			]]>
-		
+
 		</programlisting>
 		As you can see, the first time the customer with id = 1 was being requested through the entity manager, a database query was fired to
 		fetch it, since it was not available in cache. The Customer object was then loaded from the database and stored in the cache. As can be
 		seen in the next request to fetch the customer with the same id. This request to the entity manager, pulls up the entity from the cache
 		instead of firing a database query.
 	</para>
-	
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/callbacks.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/callbacks.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/callbacks.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Callbacks_and_Callback_Handlers">
 	<title>Introduction to Callbacks and Callback Handlers in EJB3</title>
-	
+
 		The EJB 3.0 specification defines some callbacks, and allows you to handle these by implementing your own callback handlers.
 		The callbacks defined for each bean are shown below:
 		<itemizedlist mark="opencircle">
@@ -18,7 +18,7 @@
 					</itemizedlist>
 				</para>
 			</listitem>
-			
+
 			<listitem>
 				<para>
 					Message-driven bean callbacks
@@ -32,7 +32,7 @@
 					</itemizedlist>
 				</para>
 			</listitem>
-			
+
 			<listitem>
 				<para>
 					Stateful session bean callbacks
@@ -41,7 +41,7 @@
 								<literal>PostConstruct</literal> - is invoked when the bean is first created, after any dependency injection is done.
 						</listitem>
 						<listitem>
-								<literal>PreDestroy</literal> - is invoked when the bean is removed from the pool or destroyed. 
+								<literal>PreDestroy</literal> - is invoked when the bean is removed from the pool or destroyed.
 								It will happen before any <literal>@Remove</literal> annotated method is invoked.
 						</listitem>
 						<listitem>
@@ -50,25 +50,25 @@
 						<listitem>
 								<literal>PrePassivate</literal>
 						</listitem>
-						
+
 					</itemizedlist>
 				</para>
 			</listitem>
-			
+
 			<listitem>
 				<para>
 					Entity bean callbacks
 					<itemizedlist mark="hyphen">
 						<listitem>
-								<literal>PrePersist</literal> - Is invoked right before the entity is created in the database. 
+								<literal>PrePersist</literal> - Is invoked right before the entity is created in the database.
 								Will cascade to all entities to which this operation is cascaded.
 						</listitem>
 						<listitem>
-								<literal>PostPersist</literal> - Is invoked right after the entity is created in the database. 
+								<literal>PostPersist</literal> - Is invoked right after the entity is created in the database.
 								Will cascade to all entities to which this operation is cascaded.
 						</listitem>
 						<listitem>
-								<literal>PreRemove</literal> - Is invoked right before the entity is deleted in the database. 
+								<literal>PreRemove</literal> - Is invoked right before the entity is deleted in the database.
 								Will cascade to all entities to which this operation is cascaded.
 						</listitem>
 						<listitem>
@@ -82,33 +82,33 @@
 								<literal>PostUpdate</literal> - Takes place immediately after the database has been updated.
 						</listitem>
 						<listitem>
-								<literal>PostLoad</literal> - Takes place right after data has been loaded 
+								<literal>PostLoad</literal> - Takes place right after data has been loaded
 								from the database and associated with the entity
-						</listitem>						
+						</listitem>
 					</itemizedlist>
 					The callbacks are not compulsory, and you can define the ones you want to handle.
 				</para>
 			</listitem>
 		</itemizedlist>
-		
+
 		<sect5>
-			Using callbacks on the bean class: 
+			Using callbacks on the bean class:
 		</sect5>
 		<para>
-			You use the callbacks listed above by annotating methods in the bean class. 
+			You use the callbacks listed above by annotating methods in the bean class.
 			The annotations live in the <literal>javax.ejb</literal> package so for example <literal>PostConstruct</literal>
-			would be <literal>javax.ejb.PostConstruct</literal>. You can call the methods what you like, but their method signature 
+			would be <literal>javax.ejb.PostConstruct</literal>. You can call the methods what you like, but their method signature
 			must return a void and take no arguments. Look at the <literal>org.jboss.tutorial.callback.bean.CustomerDAOBean</literal>
-			stateless session bean and you will see that the <literal>preDestroyCallback()</literal> method has been annotated with 
-			<literal>@javax.ejb.PreDestroy</literal>. For session/message-driven beans, just like for interceptors, if the bean class 
+			stateless session bean and you will see that the <literal>preDestroyCallback()</literal> method has been annotated with
+			<literal>@javax.ejb.PreDestroy</literal>. For session/message-driven beans, just like for interceptors, if the bean class
 			extends another class any callback annotated methods on the super class will be invoked first.
 		</para>
-				
+
 		<sect5>
 			Entity listeners for entity beans:
 		</sect5>
 		<para>
-			You can also separate out the callbacks for entity beans into a separate EntityListener class. Take a look at the 
+			You can also separate out the callbacks for entity beans into a separate EntityListener class. Take a look at the
 			<literal>org.jboss.tutorial.callback.bean.Customer</literal> entity bean, and you will see that the class has been annotated with
 			<literal>@javax.persistence.EntityListener("org.jboss.tutorial.callback.bean.CustomerCallbackListener")</literal>.
 			This specifies that the <literal>org.jboss.tutorial.callback.bean.CustomerCallbackListener</literal> class should be used as
@@ -117,7 +117,7 @@
 			However, one __important difference__ is that callback methods defined in a listener class must take a single argument, which will
 			be the bean we are working with. The parameter must be of type <literal>java.lang.Object</literal>, or the actual bean type.
 		</para>
-				
+
 		<sect5>
 			Interceptors for session/message-driven beans:
 		</sect5>
@@ -125,7 +125,7 @@
 			Callbacks for session beans can also be put into a separate class, configured as an interceptor.
 			This means that your interceptors can initialise themselves when constructed. The lifecycle methods in an interceptor
 			must have the following signature:
-		
+
 			<programlisting><![CDATA[Object <any method name>(InvocationContext)]]></programlisting>
 			<literal>org.jboss.tutorial.callback.bean.CustomerDAOBean</literal> specifies that it wants to use an external interceptor.
 			<programlisting>
@@ -137,15 +137,15 @@
    ...
 }
 			</programlisting>
-		
+
 			and <literal>org.jboss.tutorial.callback.bean.LifecycleInterceptor</literal> has a <literal>@PostConstruct</literal> annotated method.
 			As shown, each interceptor lifecycle method must call <literal>proceed</literal> on the InvocationContext to invoke
-			the next interceptor. Interceptors may contain both the <literal>@AroundInvoke</literal> methods for intercepting 
-			business methods, and lifecycle methods. If you want to configure lifecycle methods for your interceptors with xml, 
-			you will need to do this in the <literal>interceptor</literal> section of ejb-jar.xml, and the keywords are 
+			the next interceptor. Interceptors may contain both the <literal>@AroundInvoke</literal> methods for intercepting
+			business methods, and lifecycle methods. If you want to configure lifecycle methods for your interceptors with xml,
+			you will need to do this in the <literal>interceptor</literal> section of ejb-jar.xml, and the keywords are
 			<literal>post-construct-method</literal>, <literal>post-activate-method</literal>, <literal>pre-passivate-method</literal>
 			and <literal>pre-destry-method</literal>. For example:
-		
+
 			<programlisting><![CDATA[
 <ejb-jar>
    <interceptors>
@@ -160,24 +160,24 @@
          <pre-destroy-method>
             <method-name>sendCancelMessage</method-name>
          </pre-destroy-method>
-      </interceptor>   
+      </interceptor>
    </interceptors>
 </ejb-jar>]]>
-		
+
 			</programlisting>
-		
+
 			Interceptor methods for handling lifecycle events follow exactly the same ordering and inheritance rules as business method
 			interceptor methods, and an interceptor instance follows the lifecycle of the bean instance it is bound to.
-		
+
 		</para>
 	<para>
 		<sect5>
 Building and Running
 		</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -203,12 +203,11 @@
 	</programlisting>
 
 	<sect5>
-Maven Users: TODO - In the current version, a single tutorials cannot be run using Maven. 
-Once the support is provided, the following command can be used
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
 
 In the jboss console window you should see:
@@ -238,16 +237,16 @@
 23:52:12,125 INFO  [STDOUT] doPreRemove: About to delete Customer: Monica Burke
 23:52:12,128 INFO  [STDOUT] doPostRemove: Deleted Customer: Bill Burke
 23:52:12,128 INFO  [STDOUT] doPostRemove: Deleted Customer: Monica Burke
-	
+
 	]]></programlisting>
 	Now if you open up the persistence.xml, in this tutorial, and uncomment the following:
-	
-	
+
+
 	<programlisting><![CDATA[
-<property name="hibernate.show_sql" value="true"/>]]> 	
+<property name="hibernate.show_sql" value="true"/>]]>
 	</programlisting>
 	and rebuild and run the tutorial, the output should be:
-	
+
 	<programlisting><![CDATA[
 00:00:24,514 INFO  [STDOUT] LifecycleInterceptor postConstruct
 00:00:24,514 INFO  [STDOUT] PostConstruct - Have EntityManager: true
@@ -285,10 +284,9 @@
 00:00:24,900 INFO  [STDOUT] doPostRemove: Deleted Customer: Bill Burke
 00:00:24,900 INFO  [STDOUT] Hibernate: delete from CUSTOMER where id=?
 00:00:24,900 INFO  [STDOUT] doPostRemove: Deleted Customer: Monica Burke
-]]>	
-	
+]]>
+
 	</programlisting>
 	Thus you can see how the callbacks on the entity bean wrap the interaction with the database.
 	</para>
 </chapter>
-	
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/composite.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/composite.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/composite.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -2,7 +2,7 @@
 <chapter id="Composite_Primary_Keys_for_Entities_in_EJB3">
 	<title>Introduction to Composite Primary Keys and Primary Key Classes</title>
 	<para>
-	The EJB 3.0 specification allows you to define a primary key class as a <literal>@Embeddable</literal> and use it as the 
+	The EJB 3.0 specification allows you to define a primary key class as a <literal>@Embeddable</literal> and use it as the
 	primary key of your Entity bean. One or more properties can be used as members of the primary key for that particular table.
 	This tutorial is an adaptation of the "relationships" tutorial. It adds a primary key class to Customer that holds both
 	the <literal>name</literal> and <literal>id</literal> of the Customer.
@@ -60,13 +60,13 @@
       return pk.id == id && pk.name.equals(name);
    }
 }
-]]>	
+]]>
 	</programlisting>
-	
+
 	<sect5>
 	Mapping the primary key class:
 	</sect5>
-	
+
 	<para>
 		Open up <literal>org.jboss.tutorial.composite.bean.Customer</literal> and look for the <literal>getPk()</literal> method.
 		This defines the primary key class.
@@ -79,8 +79,8 @@
 }
 		]]>
 		</programlisting>
-		
-		The <literal>org.jboss.tutorial.composite.bean.CustomerPK</literal> class is mapped to 
+
+		The <literal>org.jboss.tutorial.composite.bean.CustomerPK</literal> class is mapped to
 		<literal>org.jboss.tutorial.composite.bean.Customer</literal> just like any other embeddable object.
 		The additional <literal>@EmbeddedId</literal> annotation specifies that it will be the primary key.
 		<note>
@@ -90,17 +90,17 @@
 			</para>
 		</note>
 	</para>
-	
+
 	<sect5>
 		Many To Many
 	</sect5>
 	<para>
-		There is a many-to-many relationship between <literal>org.jboss.tutorial.composite.bean.Customer</literal> and 
+		There is a many-to-many relationship between <literal>org.jboss.tutorial.composite.bean.Customer</literal> and
 		<literal>org.jboss.tutorial.composite.bean.Flight</literal>. In order to have a many-to-many relationship there
 		needs to be a distinct join table that maps the many-to-many relationship. This is called an association table.
   		You need to use the <literal>@JoinTable</literal> annotation to define this join table. The <literal>@JoinTable</literal>
   		must be defined on both sides of the bi-directional relationship. Let's look at the Customer side of the relationship
-  		
+
   		<programlisting>
 	  		<![CDATA[
 @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER, mappedBy="customers")
@@ -116,9 +116,9 @@
   		If it is not set, then that side is responsible. So, for this example, the <literal>Flight</literal> Entity is responsible
   		for managing the relation. In this example, we are specifying multiple <literal>inverseJoinColumns</literal>
   		because Customer has a composite primary key.
-  		
+
   		Let's look at the other side of the relationship in Flight:
-  		
+
   		<programlisting>
   			<![CDATA[
 @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER)
@@ -130,11 +130,11 @@
 }
   			]]>
   		</programlisting>
-  		
+
   		The <literal>Flight</literal> Entity must also define the <literal>@ManyToMany</literal> and <literal>@JoinTable</literal>.
 
 		The database associate table will look like this:
-		
+
 		<programlisting>
 		<![CDATA[
 create table FLIGHT_CUSTOMER_TABLE (
@@ -145,14 +145,14 @@
 		]]>
 		</programlisting>
 	</para>
-	
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -180,24 +180,24 @@
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
-	
+
 	<sect5>
 View the tables and rows:
 	</sect5>
 	<para>
-		You can view the tables created by JBoss by going to the 
+		You can view the tables created by JBoss by going to the
 		<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 		A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-	
+
 	</para>
-	
-	
-	
+
+
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -2,9 +2,9 @@
 <chapter id="Consumer_and_Producer">
 	<title>Message Driven POJOs (JBoss specific)</title>
 	<para>
-		The idea of Message Driven POJOs is to give a message consumer (an MDB), a typed interface 
+		The idea of Message Driven POJOs is to give a message consumer (an MDB), a typed interface
 		that message producers can send messages through.  Both the publisher and subscriber would be typed interfaces.
-		This further facilitates the removal of all the lookups and bootstrap code you have to do to obtain 
+		This further facilitates the removal of all the lookups and bootstrap code you have to do to obtain
 		and send a message and receive and dispatch a JMS message. With regular JMS you have to :
 		<itemizedlist>
 			<listitem>Get a connectionfactory</listitem>
@@ -18,24 +18,24 @@
 			<listitem>Invoke on producer</listitem>
 		</itemizedlist>
 	</para>
-	
+
 	<sect5>
 		Model :
 		<para>
-			Message Driven POJOs will have the same model as Stateless/Stateful beans. There is a bean class tagged as 
+			Message Driven POJOs will have the same model as Stateless/Stateful beans. There is a bean class tagged as
 			<literal>@org.jboss.ejb3.annotation.Consumer</literal> that must implement one or more <literal>@org.jboss.ejb3.annotation.Producer</literal> interfaces. Just
-			as a stateless bean is tagged as <literal>@Stateless</literal> and implements one or more 
+			as a stateless bean is tagged as <literal>@Stateless</literal> and implements one or more
 			<literal>@Remote</literal> or <literal>@Local</literal> interfaces. Take a look at <literal>org.jboss.tutorial.consumer.bean.ExampleConsumerBean</literal>
-			
+
 			<programlisting>
 				<![CDATA[
 @Consumer(activationConfig =
 {@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
       @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/tutorial/example")})
- at Depends ("jboss.messaging.destination:service=Queue,name=tutorial")      
+ at Depends ("jboss.messaging.destination:service=Queue,name=tutorial")
 public class ExampleConsumerBean implements ExampleProducerRemote, ExampleProducerLocal, ExampleProducerXA
 {
-...				
+...
    public void method1(String msg, int val)
    {
       System.out.println("method1(" + msg + ", " + val + ")");
@@ -48,7 +48,7 @@
       {
          System.out.println("method2 key/val: " + key + ":" + map.get(key));
       }
-   }				
+   }
 				]]>
 			</programlisting>
 			Here's one of the @Producer interfaces :
@@ -57,16 +57,16 @@
 @Producer
 public interface ExampleProducerRemote extends ExampleProducer
 {
-...			
+...
 				]]>
 			</programlisting>
 			You can see in this example that the <literal>ExampleConsumerBean</literal> implements the @Producer interfaces and defines
-			the methods which can receive JMS messages. These interfaces will be used by clients(JMS Publishers) to send messages to the 
+			the methods which can receive JMS messages. These interfaces will be used by clients(JMS Publishers) to send messages to the
 			consumer via JMS.
 			<note>
 				<para>
-					For each <literal>@Producer</literal> interface the <literal>@Consumer</literal> implements, there 
-					will be a proxy that implements that <literal>@Producer</literal> registered in JNDI under the fully qualified name of 
+					For each <literal>@Producer</literal> interface the <literal>@Consumer</literal> implements, there
+					will be a proxy that implements that <literal>@Producer</literal> registered in JNDI under the fully qualified name of
 					that <literal>@Producer</literal> interface.
 				</para>
 			</note>
@@ -91,7 +91,7 @@
          // Call method1
          remote.method1("Remote method1 called", 1);
          System.out.println("Remote method1 called");
-         
+
          // Call method2
          Map<String, String> map = new HashMap<String, String>();
          map.put("hello", "world");
@@ -104,11 +104,11 @@
       {
          // instead of typecasting, you can use a helper class that does everything for you.
          ProducerConfig.close(remote);
-      }				
+      }
 				]]>
 			</programlisting>
-			When the <literal>@Consumer</literal> is deployed by the EJB3 container, it looks for all of its <literal>@Producer</literal> interfaces 
-			and registers each one of them in JNDI under their fully qualified class name.  
+			When the <literal>@Consumer</literal> is deployed by the EJB3 container, it looks for all of its <literal>@Producer</literal> interfaces
+			and registers each one of them in JNDI under their fully qualified class name.
 			The client looks up the <literal>ExampleProducerRemote</literal> from the JNDI and uses the returned proxy to send the message.
 			The returned proxy can be cast to <literal>org.jboss.ejb3.mdb.ProducerObject</literal>. It then gets a <literal>org.jboss.ejb3.mdb.ProducerManager</literal>,
 			that manages the JMS connection for this proxy. To start being able to send messages to the Queue, the client calls <literal>connect</literal> on the
@@ -116,18 +116,18 @@
 			into a JMS message and published to the Queue of the Consumer. The consumer will receive the message and invoke its <literal>method1</literal> method.
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Producer default values :
 		<para>
-			The proxy registered in JNDI will know how to contact the JMS Queue/Topic to publish messages. You can specify explicitly through 
-			the <literal>connectionFactory</literal> attribute of the <literal>@Producer</literal>annotation what the JMS ConnectionFactory 
+			The proxy registered in JNDI will know how to contact the JMS Queue/Topic to publish messages. You can specify explicitly through
+			the <literal>connectionFactory</literal> attribute of the <literal>@Producer</literal>annotation what the JMS ConnectionFactory
 			JNDI name is, or you can rely on defaults.
 
 			<note>
 				<para>
-					The default value for the ConnectionFactory JNDI name is "ConnectionFactory". If you additionally tag the producer as @ProducerLocal instead of @Producer, 
-					then "java:/ConnectionFactory" will be used. 				
+					The default value for the ConnectionFactory JNDI name is "ConnectionFactory". If you additionally tag the producer as @ProducerLocal instead of @Producer,
+					then "java:/ConnectionFactory" will be used.
 				</para>
 			</note>
 		</para>
@@ -136,16 +136,16 @@
 	<sect5>
 		@ProducerLocal :
 		<para>
-			If you tag a producer as @ProducerLocal, the proxy will lookup the connection factory via the default InitialContext 
+			If you tag a producer as @ProducerLocal, the proxy will lookup the connection factory via the default InitialContext
 			when connect() is called. Otherwise, the ConnectFactory reference will be embedded directly within the proxy.
-			
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 	<sect5>
 		@MessageProperties :
 		<para>
-			The methods defined in a Producer are turned into JMS messages. The default message properties are a Time To Live of 0, a 
+			The methods defined in a Producer are turned into JMS messages. The default message properties are a Time To Live of 0, a
 			Priority of 4, and a delivery mode of PERSISTENT. You can override these default values in a couple of ways.
 			<itemizedlist>
 				<listitem>
@@ -156,14 +156,14 @@
 @MessageProperties(delivery=DeliveryMode.NON_PERSISTENT, timeToLive=1000, priority=1)
 public interface ExampleProducer
 {
-... 						
+...
 						]]>
 					</programlisting>
 					In this configuration, all method calls on ExampleProducer will use the JMS message properties defined with the
 					<literal>@MessageProperties</literal> annotation on the interface.
-					
+
 				</listitem>
-				
+
 				<listitem>
 					You can specify @MessageProperties on a per method basis :
 					<programlisting>
@@ -174,47 +174,47 @@
 
    @MessageProperties(delivery = DeliveryMode.NON_PERSISTENT)
    void method2(String msg, Map<String, String> map);
-}						
+}
 						]]>
 					</programlisting>
-					So, in the above example, <literal>method1()</literal> uses the default message properties, and 
+					So, in the above example, <literal>method1()</literal> uses the default message properties, and
 					<literal>method2()</literal> overrides the defaults via the <literal>@MessageProperties</literal> annotation attached to it.
-					
+
 				</listitem>
-				
+
 			</itemizedlist>
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Obtaining the current message :
 		<para>
-			Sometimes you may need to access the real JMS message. Maybe you need to obtain the replyTo destination or set an 
+			Sometimes you may need to access the real JMS message. Maybe you need to obtain the replyTo destination or set an
 			acknowledgement or something. You can obtain it by using the <literal>@org.jboss.ejb3.annotation.CurrentMessage</literal> annotation.
 			<programlisting>
 				<![CDATA[
 @CurrentMessage
 private Message currentMessage;
-				
-				
+
+
 				]]>
 			</programlisting>
 			This annotation will inject the current JMS message into your Consumer bean before your target method is invoked.
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "consumer" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "consumer" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -229,20 +229,20 @@
 run:
      [java] Remote method1 called
      [java] Remote method2 called
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	        </sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
 	</sect5>
-		
-	
+
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/dependency.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/dependency.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/dependency.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -3,51 +3,51 @@
 	<title>Introduction to specifying dependencies in EJB3 beans</title>
 
 	<para>
-		Dependencies of an EJB on a service or services, including other EJBs, may be specified through the 
+		Dependencies of an EJB on a service or services, including other EJBs, may be specified through the
 		<literal>&lt;depends&gt;</literal> tag of the jboss.xml deployment descriptor. The <literal>&lt;depends&gt;</literal>
 		tag is analagous to the <literal>@org.jboss.ejb3.annotation.Depends</literal> annotation. The dependencies control
-		the deployment of EJBs such that an EJB will not deploy until all of it's dependencies have successfully deployed. 
-	
+		the deployment of EJBs such that an EJB will not deploy until all of it's dependencies have successfully deployed.
+
 	</para>
-	
+
 	<sect5>
 		jboss-service.xml :
 		<para>
-			Take a look at <literal>META-INF/jboss-service.xml</literal>. This service deployment descriptor starts 
+			Take a look at <literal>META-INF/jboss-service.xml</literal>. This service deployment descriptor starts
 			a service based on <literal>org.jboss.tutorial.dependency.bean.DependedOn</literal>.
 			<programlisting>
 				<![CDATA[
 <server>
    <mbean code="org.jboss.tutorial.dependency.bean.DependedOn" name="jboss.test:service=DependedOn"/>
-</server>				
+</server>
 				]]>
-			
+
 			</programlisting>
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		jboss.xml :
 		<para>
-			Take a look at <literal>META-INF/jboss.xml</literal>. This deployment descriptor indicates that the 
+			Take a look at <literal>META-INF/jboss.xml</literal>. This deployment descriptor indicates that the
 			<literal>HasXmlMBeanDependencyBean</literal> is dependent on the <literal>jboss.test:service=DependedOn</literal>
 			started by <literal>jboss-service.xml</literal>. The <literal>HasXmlMBeanDependencyBean</literal> will not
 			deploy until the <literal>jboss.test:service=DependedOn</literal> service has successfully started.
 		</para>
-	
+
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "dependency" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "dependency" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -61,19 +61,19 @@
 
 run:
      [java] Lookup and bean access succeeded
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
 	</sect5>
-	
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/ejb21_client_adaptors.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/ejb21_client_adaptors.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/ejb21_client_adaptors.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,55 +1,55 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="EJB_2.1_Client_Adaptors">
 	<title>Introduction to using EJB2.1 client adaptors with EJB3</title>
-		
+
 	<para>
-		EJB 3.0 is backward compatible to EJB 2.x clients and supports the use of local and remote home interfaces as well as 
-		initialization methods (e.g. ejbCreate()). This capability is configured through annotations and/or through deployment 
+		EJB 3.0 is backward compatible to EJB 2.x clients and supports the use of local and remote home interfaces as well as
+		initialization methods (e.g. ejbCreate()). This capability is configured through annotations and/or through deployment
 		descriptors.
 	</para>
-	
-	<para>	
+
+	<para>
 		Take a look at <literal>org.jboss.tutorial.ejb21_client_adaptors.bean.Session1Bean</literal>. Note
 		that the class is annotated with <literal>@RemoteHome</literal> and the <literal>ejbCreate()</literal> method is annotated
 		with <literal>@Init</literal>. The former annotation indicates that the bean provides a EJB 2.1 style home interface. The latter
 		annotation indicates that when the <literal>create()</literal> method is invoked from the home interface, the bean is initialized
-		via the <literal>ejbCreate</literal> method. 
+		via the <literal>ejbCreate</literal> method.
 		<note>
 			<para>
 				The initialization method (annotated with <literal>@Init</literal>) name is not restricted to be ejbCreate(). You can
-				specify any other name for that method. 
+				specify any other name for that method.
 			</para>
 		</note>
-		
+
 	</para>
-	
+
 	<para>
 		<literal>org.jboss.tutorial.ejb21_client_adaptors.bean.Session2Bean</literal> illustrates the use of a local home interface.
 	</para>
-	
+
 	<note>
 			<para>
 				There's a very important difference between the <literal>remote</literal> and a <literal>business-remote</literal>
 				interface. The EJB2.x remote interfaces, which extend from EJBObject, are referred through the <literal>&lt;remote&gt;</literal>
-				tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style 
+				tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style
 				POJO bean is known as the business-remote interface and is represented by the <literal>@Remote</literal> and it's
 				corresponding <literal>&lt;business-remote&gt;</literal> tag in ejb-jar.xml.
-				
-				Similar is the case with <literal>&lt;local&gt;</literal> and the <literal>&lt;business-local&gt;</literal> tags in ejb-jar.xml. 
+
+				Similar is the case with <literal>&lt;local&gt;</literal> and the <literal>&lt;business-local&gt;</literal> tags in ejb-jar.xml.
 			</para>
-			
+
 			<para>
-				In this tutorial, you will notice that we are using <literal>remote</literal> and <literal>local</literal> interfaces and 
+				In this tutorial, you will notice that we are using <literal>remote</literal> and <literal>local</literal> interfaces and
 				not <literal>business-remote</literal> and <literal>business-local</literal> interfaces.
 			</para>
 	</note>
-	
+
 	<note>
 		<para>
 			Since we are not using any <literal>business-remote</literal> or <literal>business-local</literal> interfaces, in this tutorial,
-			unlike the "jndibinding" tutorial, we cannot use the <literal>@RemoteBinding</literal> or <literal>@LocalBinding</literal> 
+			unlike the "jndibinding" tutorial, we cannot use the <literal>@RemoteBinding</literal> or <literal>@LocalBinding</literal>
 			annotations to bind the EJBs. Instead, we configure the jndi-names for these beans through the <literal>META-INF/jboss.xml</literal>:
-			
+
 			<programlisting>
 				<![CDATA[
 <session>
@@ -60,32 +60,32 @@
 	<ejb-name>Session2</ejb-name>
 	<local-jndi-name>Session2Local</local-jndi-name>
 </session>
-				
+
 				]]>
 			</programlisting>
 		</para>
 	</note>
-	
+
 	<para>
-		Similarly, <literal>org.jboss.tutorial.ejb21_client_adaptors.bean.DeploymentDescriptorSession1Bean</literal> and 
+		Similarly, <literal>org.jboss.tutorial.ejb21_client_adaptors.bean.DeploymentDescriptorSession1Bean</literal> and
 		<literal>org.jboss.tutorial.ejb21_client_adaptors.DeploymentDescriptorSession2Bean</literal> mimic the behavior of
 		the first two beans, but use deployment descriptors to indicate the home interface(s) and initialization method(s).
 		Take a look at the <literal>META-INF/ejb-jar.xml</literal>. Note the <literal>home</literal> and <literal>local-home</literal>
 		tags that indicate the respective home interfaces. Also, note the <literal>init-method</literal> tag that indicates the
 		initialization method(s) executed when beans are created via the home interface(s).
 	</para>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "ejb21_client_adaptors" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "ejb21_client_adaptors" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -102,23 +102,22 @@
      [java] Session2 init value is initialized
      [java] DeploymentDescriptor Session1 init value is initialized
      [java] DeploymentDescriptor Session2 init value is initialized
-          		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
-	
-	
+	</sect5>
+
+
+
 </chapter>
-	
-	
\ No newline at end of file
+

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/embeddable.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/embeddable.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/embeddable.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -6,22 +6,22 @@
 		and map the properties of this embedded value object to columns within the entity's
 		table.
 	</para>
-	
+
 	<para>
 	The <literal>org.jboss.tutorial.embeddable.bean.Customer</literal> entity encapsulates the name of the customer
 	in the <literal>org.jboss.tutorial.embeddable.bean.Name</literal> value object. The
 	<literal>org.jboss.tutorial.embeddable.bean.Name</literal> value object must be tagged with the <literal>@Embeddable</literal>
 	annotation.
-	
+
 	<programlisting>
 	<![CDATA[
 @Embeddable
 public class Name implements java.io.Serializable
 	]]>
 	</programlisting>
-	
+
 	The properties of Name must then be mapped to columns within Customer's table.
-	
+
 	<programlisting>
 	<![CDATA[
 @Embedded
@@ -32,18 +32,18 @@
 public Name getName()
 {
    return name;
-}	
-	]]>	
+}
+	]]>
 	</programlisting>
 	</para>
 
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -70,22 +70,22 @@
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
-	
+
 	<sect5>
 View the tables and rows:
 	</sect5>
 	<para>
-		You can view the tables created by JBoss by going to the 
+		You can view the tables created by JBoss by going to the
 		<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 		A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-	
-	</para>	
-	
+
+	</para>
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/enterprise_app_ejb_injection.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/enterprise_app_ejb_injection.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/enterprise_app_ejb_injection.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -6,7 +6,7 @@
 		This tutorial aims at showing how EJBs can be injected in a Servlet. In this tutorial we build an EAR file which
 		contains a EJB module (jar file) and a web module (war file).
 	</para>
-	
+
 	<para>
 		Take a look at the <literal>META-INF/application.xml</literal> file:
 		<programlisting>
@@ -28,11 +28,11 @@
     <ejb>jboss-ejb3-tutorial-enterprise_ejb3app.jar</ejb>
   </module>
 </application>
-			
+
 			]]>
 		</programlisting>
 	</para>
-	
+
 	<sect5>
 		EJB module:
 		<para>
@@ -44,12 +44,12 @@
 @Local(CalculatorLocal.class)
 public class CalculatorBean implements CalculatorRemote, CalculatorLocal
 {
-...				
+...
 				]]>
 			</programlisting>
 		</para>
 		We will be using this bean in the servlet for performing the <literal>add</literal> and <literal>subtract</literal> operations.
-		
+
 		<important>
 			<para>
 				When a EJB packaged in a jar file is deployed as part of an EAR, the default jndi-name for the business-remote interface
@@ -58,7 +58,7 @@
 			</para>
 		</important>
 	</sect5>
-	
+
 	<sect5>
 		Web module:
 		<para>
@@ -80,11 +80,11 @@
 
 <welcome-file-list>
 	<welcome-file>index.html</welcome-file>
-</welcome-file-list>				
-				
+</welcome-file-list>
+
 				]]>
 			</programlisting>
-		
+
 			The <literal>org.jboss.tutorial.enterpise_app_ejb_injection.bean.CalculatorLocal</literal> will be injected in the
 			<literal>org.jboss.tutorial.enterprise_app_ejb_injection.servlet.CalculatorActionServlet</literal> using the <literal>@EJB</literal>
 			annotation:
@@ -99,7 +99,7 @@
 public void setCalculator(CalculatorLocal calculator)
 {
    this.calculator = calculator;
-}			
+}
 				]]>
 			</programlisting>
 			<important>
@@ -107,25 +107,25 @@
 					For the injection to take place in a web module, your web.xml should use the 2.5 version of the web-app xsd:
 					<programlisting>
 						<![CDATA[
-<web-app version="2.5" 
-	xmlns="http://java.sun.com/xml/ns/javaee" 
+<web-app version="2.5"
+	xmlns="http://java.sun.com/xml/ns/javaee"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">					
+	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 						]]>
 					</programlisting>
 				</para>
 			</important>
-		
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -145,18 +145,18 @@
 	</programlisting>
 	<para>
 		This will deploy the ear into the JBossAS-5.x server ("default" configuration).
-	</para> 
+	</para>
 	<sect5 id="AccessTheWebApp">
 		To access the servlet, open a web browser and enter <ulink url="http://localhost:8080/jboss-ejb3-tutorial-enterprise_webapp">http://localhost:8080/jboss-ejb3-tutorial-enterprise_webapp</ulink>.
 		This will bring up a page where you can enter two number and either click on <literal>Add</literal> or <literal>subtract</literal>.
 	</sect5>
-	
+
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean package
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
 	<para>
 		This will create the EAR in the <literal>target</literal> folder of the tutorial. Copy this EAR to the deploy folder of JBossAS-5.x

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/entity.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/entity.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/entity.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -8,32 +8,32 @@
 		Entities are not remotable and must be accessed through the new <literal>javax.persistence.EntityManager</literal> service.
 		JBoss's EJB 3.0 entity implementation is built on top of Hibernate.
 	</para>
-	
+
 	<sect5>
 		O/R Mapping :
 	</sect5>
 	<para>
-		First let's look at the example implementation of two related Entities. 
+		First let's look at the example implementation of two related Entities.
 		<literal>org.jboss.tutorial.entity.bean.Order</literal> and <literal>org.jboss.tutorial.entity.bean.LineItem</literal>.
 		These two entities form a one-to-many relationship.
 	</para>
-	
+
 	<para>
 		The persistence determines the persistent properties by looking for all getter/setter method pairs.
 		By default, all getter/setter methods will be treated as persistence properties.
 	</para>
-	
-	<para>	
+
+	<para>
 		Defining an Entity is easy. First, annotate the class as an <literal>@Entity</literal>. In the minimum, you must at
 		least define a primary key field using the <literal>@Id</literal> annotation.
-		
+
 		<programlisting>
 		<![CDATA[
 @Id @GeneratedValue
 public int getId()
 {
    return id;
-}		
+}
 		]]>
 		</programlisting>
 		<note>
@@ -41,7 +41,7 @@
 				Annotations must be defined on the getter method or on the field. However, you cannot have a mix of annotations
 				on the field and on the methods. The following example where we are mapping the <literal>name</literal> through
 				the field and mapping the <literal>age</literal> through the method is not allowed:
-				
+
 				<programlisting>
 					<![CDATA[
 @Entity
@@ -51,57 +51,57 @@
 	@Id
 	@GeneratedValue(strategy=GenerationType.AUTO)
 	private long id;
-	
+
 	@Column (name="NAME")
 	private String name;
-	
+
 	private int age;
-	
+
 	@Column (name="AGE")
 	public int getAge()
 	{
 		return this.age
 	}
-	
+
 	public String getName()
 	{
-	
+
 	}
 	// other getter/setters
 }
 					]]>
-				</programlisting> 
+				</programlisting>
 			</para>
-			
-		</note>	
-		
+
+		</note>
+
 		The <literal>@Id</literal> annotation tells the container that <literal>id</literal> is the primary key property.
 		The <literal>@GeneratedValue</literal> tells that it should be automatically generated by the container.
 		The table name is specified using the <literal>@Table</literal> annotation
-		
+
 		<programlisting>
 		<![CDATA[
 @Table(name = "PURCHASE_ORDER")
 		]]>
 		</programlisting>
-		
-		If the table name isn't specified it defaults to the simple name of the class. For instance, the LineItem entity would be 
+
+		If the table name isn't specified it defaults to the simple name of the class. For instance, the LineItem entity would be
 		mapped to the LINEITEM table.
 	</para>
-	
+
 	<sect5>
 		One to Many Relationship :
 	</sect5>
 	<para>
 		The Order bean also defines a one to many relationship.
-		
+
 		<programlisting>
 			<![CDATA[
 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy="order")
 public Collection<LineItem> getLineItems()
 {
    return lineItems;
-}			
+}
 			]]>
 		</programlisting>
 		Generics must be used so that the container can determine what the entity Order is related to.
@@ -111,19 +111,19 @@
 			all related LineItems will be deleted (<literal>CascadeType.REMOVE</literal>). If an Order instance is reattached to persistence
 			storage, any changes to the LineItems collection will be merged with persistence storage (<literal>CascadeType.MERGE</literal>).
 		</para>
-		
-		<para>	
+
+		<para>
 			<literal>FetchType.EAGER</literal> specifies that when the Order is loaded whether or not to pre-fetch the relationship as well.
 			If you want the LineItems to be loaded on demand, then specify <literal>FetchType.LAZY</literal>.
 		</para>
-		
+
 		<para>
 			The <literal>mappedBy</literal> attribute specifies that this is a bi-directional relationship that is managed by the order property
 			on the LineItem entity.
 		</para>
-		
+
 	</para>
-	
+
 	<sect5>
 		Many to One Relationship :
 	</sect5>
@@ -135,14 +135,14 @@
 public Order getOrder()
 {
    return order;
-}	
+}
 		]]>
 		</programlisting>
-		
+
 		The <literal>@JoinColumn</literal> specifies the foreign key column within the LineItem table.
-		
+
 	</para>
-	
+
 	<sect5>
 		EntityManager :
 	</sect5>
@@ -157,21 +157,21 @@
 			<![CDATA[
 @PersistenceContext
 private EntityManager manager;
-			
+
 			]]>
-		</programlisting>	
-		
+		</programlisting>
+
 		The EntityManager is central to EJB 3.0 as there are no homes. The EntityManager is used to do querying, creating,
 		find by primary key, and removal of entities in EJB3.
 	</para>
-	
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -197,27 +197,27 @@
      [java] 2     Memory stick     1000.0
      [java] 1     Laptop     2000.0
      [java] Checkout
-     
+
      ]]>
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
-	
+
 	<sect5>
 View the tables and rows:
 	</sect5>
 	<para>
-		You can view the tables created by JBoss by going to the 
+		You can view the tables created by JBoss by going to the
 		<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+		scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 		A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-	
+
 	</para>
-	
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/extended_pc.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/extended_pc.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/extended_pc.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -8,13 +8,13 @@
 		that live beyond the scope of a JTA transaction. This is called an Extended Persistence Context.
 
 		When you specify that an injected EntityManager is an extended persistence context, all object instances remain managed.
-		
+
 	</para>
-	
+
 	<para>
-		Extended persistence contexts can only be used within Stateful session beans. Take a look at 
+		Extended persistence contexts can only be used within Stateful session beans. Take a look at
 		<literal>org.jboss.tutorial.extended.bean.ShoppingCartBean</literal>.
-		
+
 		<programlisting>
 			<![CDATA[
 @Stateful
@@ -42,26 +42,26 @@
    }
 ...
 }
-			
+
 			]]>
 		</programlisting>
-		
+
 		To inject an extended persistence context, you use the <literal>type()</literal> attribute and set it to <literal>EXTENDED</literal>.
 		If you look at the <literal>createCustomer()</literal> method you notice that it is persisting a <literal>Customer</literal> object
 		and storing a reference to that	created object within a member variable of the stateful bean. When the update() method is called,
 		you see that the customer's state is modified. Since the entity manager used is EXTENDED, the customer member variable remains
 		managed by the entitymanager and the modified state will be synchronized with the database.
-		
+
 	</para>
-	
+
 	<sect5>
 		Conversations :
 	</sect5>
-	
+
 	<para>
-		An even more interesting use case is when you combine extended persistence contexts with non-transactional methods. 
+		An even more interesting use case is when you combine extended persistence contexts with non-transactional methods.
 		If you interact with an extended persistence context outside of a transaction, the inserts, updates, and deletes
-		will be queued until you access the persistence context within a transaction. This means that any persist(), merge(), 
+		will be queued until you access the persistence context within a transaction. This means that any persist(), merge(),
 		or remove() method you call will not actually result in a JDBC execution and thus an update of the database until
 		you manually call EntityManager.flush().
 		<para>
@@ -69,10 +69,10 @@
 			stuff in.  It is extremely unwise to have a JTA transaction that spans multiple http requests, yet you do not want to commit
 			anything to the database until all steps are complete.  Your code can interact with the EntityManager as it wants and you
 			do not have to worry about updates or writing a lot of gluecode in your application to do all the entity manager's work in the
-			final step of the wizard.  Efficient and highly performant. Because the managed persistent objects remain attached to the 
-			persistent context, all optmistic versioning checks can also be maintained within the application transaction. 
+			final step of the wizard.  Efficient and highly performant. Because the managed persistent objects remain attached to the
+			persistent context, all optmistic versioning checks can also be maintained within the application transaction.
 			Here's an example on how to do this.
-			
+
 			<programlisting>
 				<![CDATA[
 @Stateful
@@ -107,24 +107,24 @@
    {
    }
 }
-				
+
 				]]>
 			</programlisting>
 		</para>
 		Calling the never() method will update the managed customer object reference, but will not result in a database update until
-		checkout() is called. The spec requires that any time you invoke a transactional method of a stateful bean, 
+		checkout() is called. The spec requires that any time you invoke a transactional method of a stateful bean,
 		that the EntityManager join the transaction. Therefore, our never() update will be committed at the end of the checkout() method
 		(which by default has the REQUIRED trasaction attribute).
-		
+
 	</para>
-	
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -149,17 +149,17 @@
      [java] Created customer: William
      [java] ShoppingCartBean.customer should stay managed because we're in an extended PC: Customer.getName() == Bill
      [java] Extended persistence contexts are propagated to nested EJB calls: Customer.getName() == Bill Jr.
-     
+
      ]]>
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
-	
-	
+
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/hibernate.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/hibernate.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/hibernate.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -2,20 +2,20 @@
 <chapter id="Hibernate_Session_In_EJB3">
 	<title>Injecting Hibernate Session and Session Factory in JBoss EJB3</title>
 	<para>
-	
+
 		Persistent classes that are mapped using Hibernate *.hbm.xml files are supported in JBoss. The EJB3 Deployer will search the archive
 		for any <literal>.hbm.xml</literal> files and add them to the definition of the underlying Hibernate SessionFactory. These
          <literal>.hbm.xml</literal> files can be virtually anywhere within the archive under any java package or directory.
 		Take a look at the <literal>customer.hbm.xml</literal> for an example.
 	</para>
-	
+
 	<para>
          Class mappings defined in <literal>.hbm.xml</literal> files can be managed by EntityManagers just as annotated
          @Entity beans are.  Also, you are allowed to have relationships between a <literal>.hbm.xml</literal>
          mapped class and an EJB3 entity.  So, mixing/matching is allowed. Which means you can have some entities defined in .hbm.xml and
          some others through @Entity annotations.
      </para>
-     
+
 	<sect5>
       Injecting Hibernate Session and SessionFactory :
       <para>
@@ -28,7 +28,7 @@
          	<![CDATA[
 import org.hibernate.Query;
 import org.hibernate.Session;
-         	
+
 @Stateless
 @Remote(CustomerRemote.class)
 @RemoteBinding(jndiBinding = "CustBean")
@@ -37,19 +37,19 @@
 
    @PersistenceContext
    private Session session;
-         	
+
          	]]>
          </programlisting>
          Take a look at <literal>org.jboss.tutorial.hibernate.bean.CustomerBean</literal> for more details.
       </para>
     </sect5>
-      
+
 	<sect5>
       Accessing org.hibernate.Session and org.hibernate.Query from EntityManager:
       <para>
-         You can get access to the current underlying Hibernate Session by calling the <literal>getDelegate</literal> method on the 
+         You can get access to the current underlying Hibernate Session by calling the <literal>getDelegate</literal> method on the
          EntityManager :
-      
+
       	<programlisting>
       		<![CDATA[
 @Stateless
@@ -57,10 +57,10 @@
 @RemoteBinding (jndiBinding="AnotherCustBean")
 public class AnotherCustomerBean implements CustomerRemote
 {
-   
+
    @PersistenceContext
    private EntityManager em;
-         	
+
    public Customer getCustomer(long id)
    {
       org.hibernate.Session session = (Session) em.getDelegate();
@@ -71,10 +71,10 @@
       	</programlisting>
       	Take a look at <literal>org.jboss.tutorial.hibernate.bean.AnotherCustomerBean</literal> for more details.
    </para>
-   
+
    <para>
          You can get access to the current underlying Hibernate Query by typecasting your reference to a <code>org.hibernate.ejb.QueryImpl</code>.
-      
+
 		<programlisting>
       		<![CDATA[
 public List<Customer> getCustomers(String fname)
@@ -83,7 +83,7 @@
    org.hibernate.Query query = queryImpl.getHibernateQuery();
    return query.list();
 }
-      		
+
 			]]>
       </programlisting>
 	</para>
@@ -92,10 +92,10 @@
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -125,17 +125,17 @@
      [java] Found 2 customers with first name Jai
      [java] Searching for customers with first name Jaikiran
      [java] Found 1 customers with first name Jaikiran
-     
+
      ]]>
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
-	</programlisting>      
-     
-	
+$ mvn clean install -PRunSingleTutorial
+	</programlisting>
+
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/injection.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/injection.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/injection.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -2,33 +2,33 @@
 <chapter id="Dependency_Injection">
 	<title>Introduction to dependency injection</title>
 	<para>
-		To facilitate test driven development, the EJB 3.0 specification allows you to use annotations to inject 
+		To facilitate test driven development, the EJB 3.0 specification allows you to use annotations to inject
 		dependencies through annotations on fields or setter methods. Instead of complicated XML ejb-refs or resource refs,
-		you can use the <literal>@EJB</literal> and <literal>@Resource</literal> annotations to set the value of a 
+		you can use the <literal>@EJB</literal> and <literal>@Resource</literal> annotations to set the value of a
 		field or to call a setter method within your session bean with anything registered within JNDI.
 		You can use the <literal>@EJB</literal> annotation to inject EJB references and <literal>@Resource</literal> to access datasources.
 	</para>
-	
+
 	<para>
 		Open up <literal>org.jboss.tutorial.injection.bean.ShoppingCartBean</literal>.
-		ShoppingCartBean uses the Calculator stateless session EJB to do calculations. The example shows two ways to get access 
+		ShoppingCartBean uses the Calculator stateless session EJB to do calculations. The example shows two ways to get access
 		to the Calculator EJB.  One is:
-		
+
 		<programlisting>
 			<![CDATA[
 @EJB
-private Calculator calculator;			
+private Calculator calculator;
 			]]>
 		</programlisting>
-		
+
 		When the ShoppingCartBean instance is created, the EJB container will set the calculator field using the jndiName
 		of that particular referenced EJB.
 	</para>
-	
-	<para>	
-		You are not limited to injecting dependencies on fields. You can also use @EJB on a setter method. The below example from 
+
+	<para>
+		You are not limited to injecting dependencies on fields. You can also use @EJB on a setter method. The below example from
 		ShoppingCartBean uses the <literal>@EJB</literal> annotation to inject the reference to the Calculator session bean:
-		
+
 		<programlisting>
 			<![CDATA[
 private Calculator set;
@@ -38,57 +38,57 @@
 {
    set = c;
 }
-			
+
 			]]>
-		</programlisting>	
+		</programlisting>
 	</para>
-	
+
 	<para>
 		The <literal>@javax.annotation.Resource</literal> annotation allows you to inject resources.
-		
+
 		<programlisting>
 		<![CDATA[
 @Resource(mappedName="DefaultDS")
 private javax.sql.DataSource ds;
-		]]>		
+		]]>
 		</programlisting>
-		
+
 		<note>
 			<para>
 				In JBoss, whenever the mappedName() attribute is specified (with @Resource, @EJB), JBoss will use that as the GLOBAL jndi name to look it up.
 			</para>
 		</note>
-		
+
 		The @Resource annotation is used to inject these singletons as well:
-		
+
 		<programlisting>
 			<![CDATA[
- at Resource 
+ at Resource
 javax.ejb.SessionContext ctx;
 
- at Resource 
+ at Resource
 javax.ejb.TimerService timer;
 
- at Resource 
+ at Resource
 javax.ejb.UserTransaction ut;
-			
+
 			]]>
 		</programlisting>
-		
+
 	</para>
-	
+
 	<para>
-		<literal>@EJB</literal> and <literal>@Resource</literal> also create an entry within the JNDI ENC of the bean. So, the above @EJB 
+		<literal>@EJB</literal> and <literal>@Resource</literal> also create an entry within the JNDI ENC of the bean. So, the above @EJB
 		injection will create an entry for the reference calculator bean under "java:comp/env/ejb/calculator".
 	</para>
-	
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -114,16 +114,16 @@
      [java] 2     Memory stick
      [java] 1     Laptop
      [java] Checkout
-     
+
      ]]>
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
-	</programlisting>	
+$ mvn clean install -PRunSingleTutorial
+	</programlisting>
 
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/interceptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/interceptor.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/interceptor.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -14,7 +14,7 @@
 			<![CDATA[
 @javax.ejb.AroundInvoke
 public Object <Arbitrary method name>(javax.ejb.InvocationContext ctx) throws java.lang.Exception
-						
+
 			]]>
 		</programlisting>
 
@@ -32,7 +32,7 @@
 	</para>
 
 	<sect5>
-		Interceptor method in bean class :	
+		Interceptor method in bean class :
 	</sect5>
 
 	<para>
@@ -76,7 +76,7 @@
 
    return ctx.proceed();
 }
-				
+
 				]]>
 			</programlisting>
 		</para>
@@ -147,7 +147,7 @@
       System.out.println("*** DefaultInterceptor exiting");
    }
 }
-					
+
 					]]>
 			</programlisting>
 
@@ -165,14 +165,14 @@
    </interceptor-binding>
    ...
 </assembly-descriptor>
-					
+
 					]]>
 			</programlisting>
-			
-			Using <literal>*</literal> for the ejb-name says that <literal>DefaultInterceptor</literal> is a default interceptor, 
-			i.e. it should intercept all calls to all beans within the deployment unit. We could have added more 
+
+			Using <literal>*</literal> for the ejb-name says that <literal>DefaultInterceptor</literal> is a default interceptor,
+			i.e. it should intercept all calls to all beans within the deployment unit. We could have added more
 			<literal>interceptor-class</literal> entries to bind more interceptors, as shown here:
-			
+
 			<programlisting>
 				<![CDATA[
 <assembly-descriptor>
@@ -184,18 +184,18 @@
    </interceptor-binding>
    ...
 </assembly-descriptor>
-				
+
 				]]>
 			</programlisting>
 			In this case <literal>DefaultInterceptor</literal> would be invoked before <literal>AnotherInterceptor</literal>.
-						
+
 		</para>
 	</para>
-	
+
 	<sect5>
 		Class-level interceptors :
 	</sect5>
-	
+
 	<para>
 		Class-level interceptors can be bound using xml or annotations.
 			<sect5>
@@ -203,7 +203,7 @@
 			</sect5>
 			<para>
 				<literal>org.jbos.tutorial.interceptor.EmailSystemBean</literal> has been annotated:
-				
+
 				<programlisting>
 					<![CDATA[
 @Stateless
@@ -212,7 +212,7 @@
 {
    ...
 }
-					
+
 					]]>
 				</programlisting>
 				This says that the <literal>@AroundInvoke</literal> annotated method of <literal>org.jboss.tutorial.interceptor.bean.TracingInterceptor</literal> should wrap all calls
@@ -226,18 +226,18 @@
 {
    ...
 }
-					
+
 					]]>
 				</programlisting>
-				
+
 			</para>
-			
+
 			<sect5>
 				Class-level using xml :
-			</sect5>			
+			</sect5>
 			<para>
 				In the <literal>META-INF/ejb-jar.xml</literal> we have the following:
-				
+
 				<programlisting>
 					<![CDATA[
 <assembly-descriptor>
@@ -249,21 +249,21 @@
       </interceptor-binding>
    ...
 </assembly-descriptor>
-					
+
 					]]>
 				</programlisting>
-				
+
 				Note that here we are specifying the ejb-name of the bean we want to apply the interceptor to.
 				Hence, the <literal>@AroundInvoke</literal> annotated method of <literal>org.jboss.tutorial.interceptor.bean.OtherInterceptor</literal>
 				will wrap all calls to <literal>EmailSystemBean</literal>'s business methods.
 			</para>
-			
+
 	</para>
-	
+
 	<sect5>
 		Method-level interceptors :
 	</sect5>
-	
+
 	<para>
 		Just as we can define default and class-level interceptors, we can also bind an interceptor to a particular business method
 		of a bean
@@ -281,13 +281,13 @@
 {
    ...
 }
-				
+
 				]]>
 			</programlisting>
-			
+
 			Method-level interceptors are in addition to default and class-level interceptors, meaning that when we call
 			<literal>EmailSystemBean.sendBookingConfirmationMessage()</literal> we get intercepted by
-			
+
 			<itemizedlist mark="opencircle">
 				<listitem>
 					<para>
@@ -308,14 +308,14 @@
 					<para>
 						AccountsConfirmInterceptor (method-level)
 					</para>
-				</listitem>								
+				</listitem>
 			</itemizedlist>
-			
-			An interceptor method can choose to abort an invocation, by not calling 
+
+			An interceptor method can choose to abort an invocation, by not calling
 			<literal>InvocationContext.proceed()</literal>  as is done in <literal>AccountConfirmInterceptor</literal>'s interceptor method
-			when a confirmation already exists.						
+			when a confirmation already exists.
 		</para>
-		
+
 		<sect5>
 			Method-level using xml :
 		</sect5>
@@ -332,14 +332,14 @@
            <method-name>sendCancelMessage</method-name>
         </around-invoke>
 		...
-		
-     </interceptor>   
+
+     </interceptor>
 </interceptors>
-				
+
 				]]>
 			</programlisting>
-			This tells us that the <literal>sendCancelMessage()</literal> method of <literal>org.jboss.tutorial.interceptor.bean.AccountsCancelInterceptor</literal> 
-			is the interceptor method of this interceptor class. To bind interceptors to a particular method using xml, is much the same as how 
+			This tells us that the <literal>sendCancelMessage()</literal> method of <literal>org.jboss.tutorial.interceptor.bean.AccountsCancelInterceptor</literal>
+			is the interceptor method of this interceptor class. To bind interceptors to a particular method using xml, is much the same as how
 			this was done for class-level interceptors apart from that we specify the <literal>method-name</literal> of the method we want to intercept.
 			From our <literal>META-INF/ejb-jar.xml</literal>:
 			<programlisting>
@@ -357,7 +357,7 @@
 
     ...
  </assembly-descriptor>
-				
+
 				]]>
 			</programlisting>
 			In the case of overloaded methods, we can further narrow down the method by specifying the method parameters, as in this example:
@@ -378,58 +378,58 @@
          </method>
       </interceptor-binding>
 </assembly-descriptor>
-				
+
 				]]>
 			</programlisting>
 			<literal>SomeInterceptor</literal> will only get applied to the method of <literal>SomeBean</literal> that matches the signature,
 			i.e. <literal>methodWithParam(int, java.lang.String[])</literal>
 		</para>
-		
+
 	</para>
-	
+
 	<sect5>
 		Exclusion of default and class interceptors :
-		
+
 		<para>
 			For some beans we may want to exclude the default interceptors configured for the deployment, and for some methods
 			within a bean class we may want to exclude the class interceptors for the bean (and/or the default interceptors)
-			
+
 			<sect5>
 				Annotations :
-				
+
 				<para>
 					The <literal>@javax.ejb.ExcludeDefaultInterceptors</literal> annotation can be applied to a bean class or a method.
 					If applied to a bean class, default interceptors will not get invoked for any of that bean class's methods. If applied
 					to a bean business method, default interceptors will not get invoked when calling that method.
 				</para>
-				
+
 				<para>
 					The <literal>@javax.ejb.ExcludeClassInterceptors</literal> annotation can be applied to a bean method. When this annotation
 					is used class-level interceptors will not get invoked when calling that method.
-					
+
 				</para>
-				
+
 				<para>
 					<literal>org.jboss.tutorial.interceptor.bean.EmailMDB</literal> defines
-					
+
 					<programlisting>
 						<![CDATA[
- at ExcludeDefaultInterceptors        
+ at ExcludeDefaultInterceptors
 public class EmailMDB implements MessageListener
 {
    ...
 }
-						
+
 						]]>
 					</programlisting>
-					so <literal>DefaultInterceptor</literal> is not invoked when invoking the <literal>EmailMDB.onMessage()</literal>	
+					so <literal>DefaultInterceptor</literal> is not invoked when invoking the <literal>EmailMDB.onMessage()</literal>
 				</para>
-				
+
 				<para>
 					<literal>org.jboss.tutorial.interceptor.bean.EmailSystemBean</literal>'s  <literal>noop</literal> method is annotated with both
 					<literal>@ExcludeClassInterceptors</literal> and <literal>@ExcludeDefaultInterceptors</literal> and so will not get intercepted
 					by any of these.
-					
+
 					<programlisting>
 						<![CDATA[
 @ExcludeClassInterceptors
@@ -439,24 +439,24 @@
    System.out.println("<In EmailSystemBean.noop business method");
    System.out.println("Exiting EmailSystemBean.noop business method>");
 }
-						
+
 						]]>
 					</programlisting>
 				</para>
 			</sect5>
-			
+
 			<sect5>
 				XML :
-				
+
 				<para>
 					We can also exclude class and method-level interceptors within an <literal>interceptor-binding</literal> by specifying the
 					<literal>exclude-class-interceptors</literal> and <literal>exclude-default-interceptors</literal> elements.
-					
+
 					<programlisting>
 						<![CDATA[
 <assembly-descriptor>
       ...
-						
+
 	   <interceptor-binding>
          <ejb-name>EmailSystemBean</ejb-name>
          <exclude-default-interceptors>true</exclude-default-interceptors>
@@ -470,30 +470,30 @@
 						]]>
 					</programlisting>
 				</para>
-			</sect5>	
-			
+			</sect5>
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Inheritance Ordering :
-		
+
 		<para>
 			If an interceptor (or bean class) inherits from another class which has a method declared to be an interceptor method,
 			the interceptor methods from the super class will be invoked first. However, if the interceptor method in the superclass
 			has been overridden (regardless of if the overriding method is declared to be an interceptor method or not) the superclass
 			method is not invoked.
 		</para>
-		
+
 		<para>
-			Both <literal>org.jboss.tutorial.interceptor.bean.AccountsConfirmInterceptor</literal> and 
-			<literal>org.jboss.tutorial.interceptor.bean.AccountsCancelInterceptor</literal> inherit from 
+			Both <literal>org.jboss.tutorial.interceptor.bean.AccountsConfirmInterceptor</literal> and
+			<literal>org.jboss.tutorial.interceptor.bean.AccountsCancelInterceptor</literal> inherit from
 			<literal>org.jboss.tutorial.interceptor.bean.AccountsInterceptor</literal>.
 		</para>
-		
+
 		<para>
 			AccountsInterceptor declares the following interceptor method:
-			
+
 			<programlisting>
 				<![CDATA[
 @AroundInvoke
@@ -509,12 +509,12 @@
       System.out.println("*** AccountsInterceptor exiting");
    }
 }
-				
+
 				]]>
 			</programlisting>
-			This method is overridden by <literal>AccountsConfirmInterceptor</literal>, even though it is not <literal>AccountsConfirmInterceptor</literal>'s 
+			This method is overridden by <literal>AccountsConfirmInterceptor</literal>, even though it is not <literal>AccountsConfirmInterceptor</literal>'s
 			interceptor method:
-			
+
 			<programlisting>
 				<![CDATA[
 public class AccountsConfirmInterceptor extends AccountsInterceptor
@@ -526,50 +526,50 @@
       return null;
    }
 
-   
+
    @AroundInvoke
    public Object sendConfirmMessage(InvocationContext ctx) throws Exception
    {
       ...
    }
-}   
+}
 				]]>
 			</programlisting>
 			So when invoking <literal>AccountsConfirmInterceptor</literal>, we simply invoke its <literal>sendConfirmMessage()</literal> method.
 			<literal>AccountsCancelInterceptor</literal>, on the other hand, does not override <literal>AccountsInterceptor.intercept()</literal>,
 			so when invoking <literal>AccountsCancelInterceptor</literal>, we first get intercepted by <literal>AccountsInterceptor.intercept()</literal>
 			followed by <literal>AccountsCancelInterceptor.sendCancelMessage()</literal>.
-					
+
 		</para>
-		
+
 	</sect5>
-	
+
 	<sect5>
 		Injection in interceptors:
 		<sect5>
 			Using Annotations :
 			<para>
 				Just like a bean class, an interceptor can be the target of dependency injection (see the "injection" tutorial for
-				details about injection). The format for how this works is the same, and the injection works off the same ENC as 
+				details about injection). The format for how this works is the same, and the injection works off the same ENC as
 				the bean to which the interceptor is bound.
 			</para>
 			<para>
-				<literal>org.jboss.tutorial.interceptor.bean.AccountsConfirmInterceptor</literal> has dependency injection set up using annotations:	
+				<literal>org.jboss.tutorial.interceptor.bean.AccountsConfirmInterceptor</literal> has dependency injection set up using annotations:
 				<programlisting>
 					<![CDATA[
 public class AccountsConfirmInterceptor extends AccountsInterceptor
 {
    @Resource(mappedName="java:ConnectionFactory")
    QueueConnectionFactory cf;
-   
+
    @Resource(mappedName="queue/tutorial/accounts")
    Queue queue;
-   
+
    @PersistenceContext
    EntityManager em;
-   
+
    ...
-					
+
 					]]>
 				</programlisting>
 			</para>
@@ -592,11 +592,11 @@
 						Obtains the default EntityManager and injects this into the field <literal>em</literal>
 					</para>
 				</listitem>
-				
+
 			</itemizedlist>
-			
+
 		</sect5>
-		
+
 		<sect5>
 			Using XML :
 			<para>
@@ -630,30 +630,30 @@
               <injection-target-name>queue</injection-target-name>
            </injection-target>
         </resource-env-ref>
-     </interceptor>   
+     </interceptor>
 </interceptors>
-					
+
 					]]>
 				</programlisting>
 				<itemizedlist mark="opencircle">
 					<listitem>
 						<para>
 							The container looks up <literal>java:/ConnectionFactory</literal> in JNDI and creates the <literal>java:comp/env/jms/ConnFactory</literal>
-							entry in the bean's ENC, and following bean creation it injects the connection factory into <literal>AccountsCancelInterceptor</literal>'s 
+							entry in the bean's ENC, and following bean creation it injects the connection factory into <literal>AccountsCancelInterceptor</literal>'s
 							<literal>cf</literal> field.
 						</para>
 					</listitem>
 					<listitem>
 						<para>
-							The container looks up <literal>queue/tutorial/accounts</literal> in JNDI and creates the <literal>java:comp/env/accountsQueue</literal> 
+							The container looks up <literal>queue/tutorial/accounts</literal> in JNDI and creates the <literal>java:comp/env/accountsQueue</literal>
 							entry in the bean's ENC, and following bean creation it injects the queue into <literal>AccountsCancelInterceptor</literal>'s
 							<literal>queue</literal> field.						</para>
-					</listitem>					
+					</listitem>
 				</itemizedlist>
 			</para>
 		</sect5>
 	</sect5>
-	
+
 	<sect5>
 		Interceptor Ordering :
 		<para>
@@ -668,7 +668,7 @@
 					<para>
 						Default interceptors, if present
 					</para>
-				</listitem>				
+				</listitem>
 				<listitem>
 					<para>
 						Class interceptors, if present
@@ -683,22 +683,22 @@
 					<para>
 						Interceptor method on the bean class (using @AroundInvoke)
 					</para>
-				</listitem>	
+				</listitem>
 
 			</itemizedlist>
 			Within each group (default, class, method) the order of the interceptors are from left to right as defined in the @Interceptors annotation,
-			and then the xml interceptors.			
+			and then the xml interceptors.
 		</para>
-	
+
 		<sect5>
 			Overriding interceptor ordering :
-			
+
 			<para>
 				You can override the default sort order of the external interceptors by specifiying an <literal>interceptor-binding</literal> with an <literal>interceptor-order</literal>
 				specifying the order of the interceptors
 				<programlisting>
 					<![CDATA[
-<assembly-descriptor>					
+<assembly-descriptor>
       <interceptor-binding>
          <ejb-name>EmailSystemBean</ejb-name>
          <interceptor-order>
@@ -713,7 +713,7 @@
       </interceptor-binding>
       ...
 </assembly-descriptor>
-					
+
 					]]>
 				</programlisting>
 			</para>
@@ -739,43 +739,43 @@
 					<para>
 						TracingInterceptor (1st class-level interceptor)
 					</para>
-				</listitem>				
-			
+				</listitem>
+
 			</itemizedlist>
-			
+
 		</sect5>
-		
+
 	</sect5>
-	
+
 	<sect5>
 		InvocationContext :
 		<para>
-			As you have seen the <literal>@AroundInvoke</literal> annotated interceptor methods all take a parameter of type 
+			As you have seen the <literal>@AroundInvoke</literal> annotated interceptor methods all take a parameter of type
 			<literal>javax.ejb.InvocationContext</literal>. The definition of <ulink url="http://java.sun.com/javaee/5/docs/api/javax/interceptor/InvocationContext.html">InvocationContext</ulink> is:
-			
+
 			<programlisting>
 				<![CDATA[
 
 package javax.interceptor;
-				
+
 public interface InvocationContext {
-				
+
 	public java.lang.Object getTarget();
-  
+
     public java.lang.reflect.Method getMethod();
-	
+
 	public java.lang.Object[] getParameters();
-  	
+
   	public void setParameters(java.lang.Object[] arg0);
-  
+
 	public java.util.Map getContextData();
-  
+
 	public java.lang.Object proceed() throws java.lang.Exception;
-}					
+}
 				]]>
-			
+
 			</programlisting>
-			
+
 			<para>
 				<literal>getBean()</literal> - returns the bean instance on which we are calling a method
 			</para>
@@ -790,33 +790,33 @@
 			</para>
 			<para>
 				<literal>getContextData</literal> - The EJB interceptions are stateless, but the same InvocationContext instance
-				is used for each interceptor method in a chain. If you want to pass values between interceptor methods in the 
+				is used for each interceptor method in a chain. If you want to pass values between interceptor methods in the
 				business method invocation you can store them in the Map retured by getContextData().
 			</para>
 			<para>
 				<literal>proceed</literal> - As discussed, invokes the next interceptor, or if we are in the last interceptor
 				invokes the target bean method.
 			</para>
-			
-			In some case we might want access to the EJBContext, this can be injected into the interceptor instance using the 
+
+			In some case we might want access to the EJBContext, this can be injected into the interceptor instance using the
 			<literal>@Resource</literal> annotation. The AroundInvoke methods share the JNDI name space of the bean for whose
 			methods they are invoked and execute within the same transaction and security context as the business methods for
 			which they are invoked.
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "interceptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "interceptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -830,37 +830,37 @@
 
 run:
      [java] Starting
-     [java] 
+     [java]
      [java] Calling emailLostPassword
      [java] Waiting 2 seconds
-     [java] 
+     [java]
      [java] Calling sendBookingConfirmationMessage
      [java] Waiting 2 seconds
-     [java] 
+     [java]
      [java] Calling sendBookingConfirmationMessage
      [java] Waiting 2 seconds
-     [java] 
+     [java]
      [java] Calling sendBookingCancellationMessage
      [java] Waiting 2 seconds
-     [java] 
+     [java]
      [java] Calling noop
      [java] Waiting 2 seconds
-     [java] 
+     [java]
      [java] Calling noop2
      [java] Waiting 2 seconds
      [java] Done
-		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
-			</programlisting>	
+Maven Users: Make sure the AS is not running.
+	</sect5>
 
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
+			</programlisting>
+
 			<para>
 				<programlisting>
 					<![CDATA[
@@ -876,12 +876,8 @@
 21:49:02,130 INFO  [STDOUT] *** DefaultInterceptor exiting
 21:49:02,179 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
 21:49:02,180 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
-21:49:02,180 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public void org.jboss.tutorial.interceptor.bean.EmailMDB.onMessage(javax.jms.Message)
-21:49:02,181 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public java.lang.Object org.jboss.tutorial.interceptor.bean.EmailMDB.mdbInterceptor(javax.interceptor.InvocationContext) throws java.lang.Exception
-21:49:02,182 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public void org.jboss.tutorial.interceptor.bean.EmailMDB.onMessage(javax.jms.Message)
-21:49:02,184 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public java.lang.Object org.jboss.tutorial.interceptor.bean.EmailMDB.mdbInterceptor(javax.interceptor.InvocationContext) throws java.lang.Exception
 21:49:02,185 INFO  [STDOUT] *** EmailMDB.mdbInterceptor intercepting
-21:49:02,185 INFO  [STDOUT] 
+21:49:02,185 INFO  [STDOUT]
 ----------------
 EMailMDB - Got message, sending email
 ----------------
@@ -894,10 +890,8 @@
 21:49:04,440 INFO  [STDOUT] <In EmailSystemBean.sendBookingConfirmationMessage business method
 21:49:04,455 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
 21:49:04,455 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
-21:49:04,455 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public void org.jboss.tutorial.interceptor.bean.AccountsMDB.onMessage(javax.jms.Message)
-21:49:04,457 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public void org.jboss.tutorial.interceptor.bean.AccountsMDB.onMessage(javax.jms.Message)
 21:49:04,458 INFO  [STDOUT] *** DefaultInterceptor intercepting onMessage
-21:49:04,459 INFO  [STDOUT] 
+21:49:04,459 INFO  [STDOUT]
 ----------------
 AccountsMDB - Got message Confirming order 100
 ----------------
@@ -909,7 +903,7 @@
 21:49:04,467 INFO  [STDOUT] *** TracingInterceptor invocation of org.jboss.tutorial.interceptor.bean.EmailSystemBean.sendBookingConfirmationMessage() took 216ms
 21:49:04,467 INFO  [STDOUT] *** DefaultInterceptor exiting
 21:49:04,478 INFO  [STDOUT] *** EmailMDB.mdbInterceptor intercepting
-21:49:04,478 INFO  [STDOUT] 
+21:49:04,478 INFO  [STDOUT]
 ----------------
 EMailMDB - Got message, sending email
 ----------------
@@ -937,12 +931,12 @@
 21:49:08,606 INFO  [STDOUT] *** AccountsCancelInterceptor exiting
 21:49:08,606 INFO  [STDOUT] *** AccountsInterceptor exiting
 21:49:08,617 INFO  [STDOUT] *** EmailMDB.mdbInterceptor intercepting
-21:49:08,617 INFO  [STDOUT] 
+21:49:08,617 INFO  [STDOUT]
 ----------------
 EMailMDB - Got message, sending email
 ----------------
 21:49:08,620 INFO  [STDOUT] *** DefaultInterceptor intercepting onMessage
-21:49:08,620 INFO  [STDOUT] 
+21:49:08,620 INFO  [STDOUT]
 ----------------
 AccountsMDB - Got message Cancelling order 100
 ----------------
@@ -965,14 +959,10 @@
 					<programlisting>
 21:49:02,179 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
 21:49:02,180 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
-21:49:02,180 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public void org.jboss.tutorial.interceptor.bean.EmailMDB.onMessage(javax.jms.Message)
-21:49:02,181 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public java.lang.Object org.jboss.tutorial.interceptor.bean.EmailMDB.mdbInterceptor(javax.interceptor.InvocationContext) throws java.lang.Exception
-21:49:02,182 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public void org.jboss.tutorial.interceptor.bean.EmailMDB.onMessage(javax.jms.Message)
-21:49:02,184 WARN  [InterceptorRegistry] applicable interceptors is non-existent for public java.lang.Object org.jboss.tutorial.interceptor.bean.EmailMDB.mdbInterceptor(javax.interceptor.InvocationContext) throws java.lang.Exception
-						
+
 					</programlisting>
-				</para>				
+				</para>
 			</note>
-		</para>	
+		</para>
 	</sect5>
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/jboss_deployment_descriptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/jboss_deployment_descriptor.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/jboss_deployment_descriptor.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -13,7 +13,7 @@
 
 	<sect5>
 		jboss.xml :
-		
+
 		<para>
 			Take a look at <literal>META-INF/jboss.xml</literal>.
 			<itemizedlist>
@@ -22,48 +22,48 @@
 					This JNDI binding overrides the default binding or a binding specified through the <literal>@RemoteBinding</literal> annotation.
 					Similarly, the <literal>local-jndi-name</literal> element specifies the local JNDI binding.
 				</listitem>
-				
+
 				<listitem>
 					The <literal>clustered</literal> element indicates that the ejb is clustered, with <literal>partition-name</literal> and
-					<literal>load-balance-policy</literal> specifying the cluster name and load balance policy, respectively. 
+					<literal>load-balance-policy</literal> specifying the cluster name and load balance policy, respectively.
 					These elements will override the parameters specified in the <literal>@Clustered</literal> annotation.
-					In this example, you will see that the <literal>ShoppingCartBean</literal> ejb is clustered. 
+					In this example, you will see that the <literal>ShoppingCartBean</literal> ejb is clustered.
 					<note>
 						If you build and run this example with the "default" server configuration, the deployment will
 						fail, as the default server configuration does not support clustering. You will have to run this
 						example on the "all" server configuration which supports clustering
-					</note>								
+					</note>
 				</listitem>
-				
+
 				<listitem>
 					The <literal>security-domain</literal> element specifies a security domain for the ejb, overriding
 					any security domain set through the <literal>@SecurityDomain</literal> annotation. In this example,
-					you will see that a security domain is set through the jboss.xml deployment descriptor and unless a 
+					you will see that a security domain is set through the jboss.xml deployment descriptor and unless a
 					Principal and Credential (i.e. user/password) is set in the client, requests to the ejb will fail
 					with a javax.ejb.EJBAccessException.
-					
+
 					<note>
 						The jboss.xml shows using the security-domain at a bean level as well at the entire deployment level.
 						Each bean can have its own security-domain and will override the one set at the deployment level.
 					</note>
-					
+
 				</listitem>
 			</itemizedlist>
 
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "jboss_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "jboss_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -94,19 +94,19 @@
      [java] Caught javax.ejb.EJBAccessException, for SLSB, as expected
      [java] Now passing the correct user/password to access the SLSB
      [java] Successfully accessed SLSB
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/jca_inflow_quartz.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/jca_inflow_quartz.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/jca_inflow_quartz.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,19 +1,19 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Quartz_scheduler_integration">
 	<title>Quartz scheduler integration</title>
-	
+
 	<para>
 		JBossAS comes bundled with Quartz integration packaged as a JCA Message-Inflow resource adapter <literal>quartz-ra.rar</literal>.
-		This integration allows you to schedule stateless or stateful quartz jobs and have the job be posted to a 
+		This integration allows you to schedule stateless or stateful quartz jobs and have the job be posted to a
 		Message Driven bean. The Quartz Resource Adapter creates a non-persistent scheduler. Jobs are created from
-		the information in the MDB's activation config spec. 
+		the information in the MDB's activation config spec.
 		<note>
 			<para>
 				Currently only cron jobs are allowed to be configured.
 			</para>
 		</note>
 	</para>
-	
+
 	<para>
 		Take a look at the <literal>org.jboss.tutorial.jca_inflow_quartz.bean.AnnotatedQuartzMDBBean</literal>:
 		<programlisting>
@@ -23,16 +23,16 @@
 @ResourceAdapter("quartz-ra.rar")
 public class AnnotatedQuartzMDBBean implements Job
 {
-...			
+...
 			]]>
 		</programlisting>
 		This is a simple MDB that implements the <literal>org.quartz.Job</literal> interface. The <literal>cronTrigger</literal>
 		activation spec attribute is required. In this you specify a cron syntax as documented in the Quartz documentation.
 		The <literal>@org.jboss.ejb3.annotation.ResourceAdapter</literal> annotation is used to tell the EJB container which
 		resource adapter to use for the inflow implementation.
-		
+
 	</para>
-	
+
 	<sect5>
 		Using deployment descriptors :
 		<para>
@@ -40,7 +40,7 @@
 			integration. Take a look at <literal>META-INF/ejb-jar.xml</literal> and <literal>META-INF/jboss.xml</literal>
 			The ejb-jar.xml configures the <literal>cronTrigger</literal> through the <literal>&lt;activation-config&gt;</literal>
 			element:
-			
+
 			<programlisting>
 				<![CDATA[
 <message-driven>
@@ -52,10 +52,10 @@
          <activation-config-property-name>cronTrigger</activation-config-property-name>
          <activation-config-property-value>0/2 * * * * ?</activation-config-property-value>
       </activation-config-property>
-      
-      
+
+
    </activation-config>
-</message-driven>				
+</message-driven>
 				]]>
 			</programlisting>
 			The jboss.xml configures the <literal>resource-adapter-name</literal> :
@@ -64,20 +64,20 @@
 <message-driven>
    <ejb-name>ExampleMDB</ejb-name>
    <resource-adapter-name>quartz-ra.rar</resource-adapter-name>
-</message-driven>				
+</message-driven>
 				]]>
 			</programlisting>
 		</para>
-		
+
 	</sect5>
 
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
@@ -94,20 +94,20 @@
 		     ]]>
 			</programlisting>
 			This will deploy the jar into the JBossAS-5.x server ("default" configuration).
-			
+
 			<sect5>
-		Maven Users: 
-			</sect5>
-			
-			<programlisting>
-$ mvn clean package
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-			This will create the jar in the <literal>target</literal> folder of the tutorial. Copy this jar to the deploy folder of JBossAS-5.x				
+			This will create the jar in the <literal>target</literal> folder of the tutorial. Copy this jar to the deploy folder of JBossAS-5.x
 		</para>
-	</sect5>	
+	</sect5>
 	<para>
 		On the server side when the application is deployed, you will notice these logs:
-		
+
 		<programlisting>
 			<![CDATA[
 18:46:57,053 INFO  [QuartzMDBBean] ************** JOB: job.4.1232457416127
@@ -127,12 +127,12 @@
 18:47:08,019 INFO  [AnnotatedQuartzMDBBean] ************** here in annotated!!!!
 18:47:08,021 INFO  [QuartzMDBBean] ************** JOB: job.2.1232457416077
 18:47:09,020 INFO  [QuartzMDBBean] ************** JOB: job.4.1232457416127
-			
+
 			]]>
 		</programlisting>
-	 
+
 	</para>
-	
 
-	
+
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/jndibinding.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/jndibinding.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/jndibinding.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -2,14 +2,14 @@
 <chapter id="JNDI_Bindings">
 	<title>Binding your beans in JNDI</title>
 	<para>
-		By default, when the application is deployed in a jar, session beans will bind to JNDI in the form <literal>ejbName/remote</literal> for remote 
+		By default, when the application is deployed in a jar, session beans will bind to JNDI in the form <literal>ejbName/remote</literal> for remote
 		interfaces and <literal>ejbName/local</literal> in the case of local interfaces. When the EJBs are deployed in an .ear file, the default
-		jndi binding will be prepended by the name of the .ear file.  So if the ear file name is <literal>foo.ear</literal> the default jndi 
+		jndi binding will be prepended by the name of the .ear file.  So if the ear file name is <literal>foo.ear</literal> the default jndi
 		names would be <literal>foo/EJB-NAME/remote</literal> and <literal>foo/EJB-NAME/local</literal>. You can override this behavior
 		by defining your own <literal>@org.jboss.ejb3.annotation.LocalBinding</literal> and/or <literal>@org.jboss.ejb3.annotation.RemoteBinding</literal>.
-		
+
 	</para>
-	
+
 	<sect5>
 		Local Interface JNDI Binding :
 		<para>
@@ -21,18 +21,18 @@
 public class MySessionBean implements MySession
 {
 }
-				
-				]]>				
+
+				]]>
 			</programlisting>
 		</para>
-		
+
 	</sect5>
-	
+
 	<sect5>
 		Remote Interface JNDI Binding :
 		<para>
 			To change the JNDI name for your remote interface use the <literal>@org.jboss.ejb3.annotation.RemoteBinding</literal> annotation.
-			
+
 			<programlisting>
 				<![CDATA[
 @Stateless
@@ -40,12 +40,12 @@
 public class MySessionBean implements MySession
 {
 }
-				
+
 				]]>
 			</programlisting>
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Persistence unit JNDI Bindings :
 		<para>
@@ -66,13 +66,13 @@
       </properties>
    </persistence-unit>
 </persistence>
-				
+
 				]]>
 			</programlisting>
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Client :
 		<para>
@@ -81,18 +81,18 @@
 			and you can begin executing on the stateless bean right away.
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "jndibinding" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "jndibinding" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -107,17 +107,17 @@
 run:
      [java] 1 + 1 = 2
      [java] 1 - 1 = 0
-		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
-			</programlisting>	
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
+			</programlisting>
 		</para>
-	</sect5>	
+	</sect5>
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/joininheritance.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/joininheritance.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/joininheritance.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -7,21 +7,21 @@
 		The inheritance relationships can be reflected in queries as well. So, if you queried based
 		on the base class, the query is polymorphic.
 	</para>
-	
+
 	<para>
-		The tutorial example uses the join table strategy to map an inheritance relationship of 
-		<literal>org.jboss.tutorial.joininheritance.bean.Pet</literal>, which is the base class 
-		for <literal>org.jboss.tutorial.joininheritance.bean.Cat</literal> and 
+		The tutorial example uses the join table strategy to map an inheritance relationship of
+		<literal>org.jboss.tutorial.joininheritance.bean.Pet</literal>, which is the base class
+		for <literal>org.jboss.tutorial.joininheritance.bean.Cat</literal> and
 		<literal>org.jboss.tutorial.joininheritance.bean.Dog</literal>.
 	</para>
-	
+
 	<para>
 		With the join table strategy there is a table per class in the hierarchy, but the subclass tables
 		only have the extra attribute they define in their subclass. A discriminator column is NOT required
 		to differentiate between which class type is persisted in a particular row unlike the single table mapping.
 		The persistence manager does not need a discrimiator column to figure out the type.
 	</para>
-	
+
 	<para>
 		This is what the annotations look like for Pet:
 		<programlisting>
@@ -30,49 +30,49 @@
 @Inheritance(strategy = InheritanceType.JOINED)
 public class Pet implements java.io.Serializable
 {
-...			
+...
 			]]>
-		
+
 		</programlisting>
-		
+
 		<programlisting>
 			<![CDATA[
 @Entity
 @Inheritance(strategy = InheritanceType.JOINED)
 public class Dog extends Pet
 {
-...			
-			
+...
+
 			]]>
 		</programlisting>
 	</para>
-	
+
 	<sect5>
 		Polymorphic Queries :
-		
+
 		<para>
 			<literal>org.jboss.tutorial.joininheritance.bean.PetDAOBean</literal> stateless EJB wraps
 			some polymorphic queries.
-			
+
 			<programlisting>
 				<![CDATA[
 public List findByWeight(double weight)
 {
    return manager.createQuery("from Pet p where p.weight < :weight").setParameter("weight", weight).getResultList();
 }
-				
-				
+
+
 				]]>
 			</programlisting>
 			Even though the <literal>findByWeight</literal> method queries on Pet, either Dog or Cat instances
 			can be returned.
 		</para>
-	
+
 	</sect5>
-	
+
 	<sect5>
 		Table Mapping :
-		
+
 		<para>
 			The table mapping for this example looks like this:
 			<programlisting>
@@ -93,26 +93,26 @@
   ID integer primary key,
   NUMBONES int
 );
-				
+
 				]]>
-			
+
 			</programlisting>
 			The join inheritance mapping is less efficient than the single table strategy as the SQL query is more complicated.
 		</para>
-	
+
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "joininheritance" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "joininheritance" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -127,30 +127,30 @@
 run:
      [java] Sox
      [java] Junior
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 	<sect5>
 			View the tables and rows:
-	
+
 		<para>
-			You can view the tables created by JBoss by going to the 
+			You can view the tables created by JBoss by going to the
 			<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 			A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-		
+
 		</para>
 	</sect5>
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -3,16 +3,16 @@
 	<title>Introduction to Message Driven Beans in EJB3</title>
 	<para>
 		This example shows you how to implement an MDB with EJB 3.0 using annotations.
-		
+
 	</para>
 	<para>
 		Take a look at <literal>org.jboss.tutorial.mdb.bean.ExampleMDB</literal>. The @MessageDriven annotation
-		defines the bean as an MDB. The <literal>activationConfig</literal> attribute contains much of the MDB configuration via 
-		<literal>@ActivationConfigProperty</literal>. Also notice that the MDB source contains properties for 
+		defines the bean as an MDB. The <literal>activationConfig</literal> attribute contains much of the MDB configuration via
+		<literal>@ActivationConfigProperty</literal>. Also notice that the MDB source contains properties for
 		<literal>destinationType</literal> and <literal>destination</literal>
-		
+
 	</para>
-	
+
 	<para>
 		The following is the list of standard Activation Config Properties available from the JCA 1.5 specification.
 		Also listed are the respective types and default values where defined.
@@ -28,7 +28,7 @@
 						<entry>Default value</entry>
 					</row>
 				</thead>
-				
+
 				<tbody>
 					<row>
 						<entry>destination</entry>
@@ -37,7 +37,7 @@
 						<entry>Yes</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>destinationType</entry>
 						<entry>java.lang.String</entry>
@@ -45,7 +45,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>messageSelector</entry>
 						<entry>java.lang.String</entry>
@@ -53,7 +53,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>acknowledgeMode</entry>
 						<entry>int</entry>
@@ -61,7 +61,7 @@
 						<entry>No</entry>
 						<entry>AUTO_ACKNOWLEDGE</entry>
 					</row>
-					
+
 					<row>
 						<entry>clientID</entry>
 						<entry>java.lang.String</entry>
@@ -69,7 +69,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>subscriptionDurability</entry>
 						<entry>String</entry>
@@ -77,7 +77,7 @@
 						<entry>No</entry>
 						<entry>NonDurable</entry>
 					</row>
-					
+
 					<row>
 						<entry>subscriptionName</entry>
 						<entry>String</entry>
@@ -85,13 +85,13 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
-					
+
+
 				</tbody>
 			</tgroup>
 		</informaltable>
 		The following is the list of Activation Config Properties available as JBoss extensions.
-		
+
 		<informaltable frame='none'>
 			<tgroup cols='4' colsep="1" rowsep="1">
 				<colspec colwidth='0.5in'/>
@@ -104,7 +104,7 @@
 						<entry>Default value</entry>
 					</row>
 				</thead>
-				
+
 				<tbody>
 					<row>
 						<entry>isTopic</entry>
@@ -113,7 +113,7 @@
 						<entry>No</entry>
 						<entry>false</entry>
 					</row>
-					
+
 					<row>
 						<entry>providerAdapterJNDI</entry>
 						<entry>java.lang.String</entry>
@@ -121,7 +121,7 @@
 						<entry>No</entry>
 						<entry>java:/DefaultJMSProvider</entry>
 					</row>
-					
+
 					<row>
 						<entry>user</entry>
 						<entry>java.lang.String</entry>
@@ -129,7 +129,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>pass</entry>
 						<entry>java.lang.String</entry>
@@ -137,7 +137,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>maxMessages</entry>
 						<entry>int</entry>
@@ -148,7 +148,7 @@
 						<entry>No</entry>
 						<entry>1</entry>
 					</row>
-					
+
 					<row>
 						<entry>minSession</entry>
 						<entry>int</entry>
@@ -156,7 +156,7 @@
 						<entry>No</entry>
 						<entry>1</entry>
 					</row>
-					
+
 					<row>
 						<entry>maxSession</entry>
 						<entry>int</entry>
@@ -164,7 +164,7 @@
 						<entry>No</entry>
 						<entry>15</entry>
 					</row>
-					
+
 					<row>
 						<entry>reconnectInterval</entry>
 						<entry>long</entry>
@@ -172,7 +172,7 @@
 						<entry>No</entry>
 						<entry>10 seconds</entry>
 					</row>
-					
+
 					<row>
 						<entry>keepAlive</entry>
 						<entry>long</entry>
@@ -180,7 +180,7 @@
 						<entry>No</entry>
 						<entry>60 seconds</entry>
 					</row>
-					
+
 					<row>
 						<entry>sessionTransacted</entry>
 						<entry>boolean</entry>
@@ -188,7 +188,7 @@
 						<entry>No</entry>
 						<entry>true</entry>
 					</row>
-					
+
 					<row>
 						<entry>useDLQ</entry>
 						<entry>boolean</entry>
@@ -196,7 +196,7 @@
 						<entry>No</entry>
 						<entry>true</entry>
 					</row>
-					
+
 					<row>
 						<entry>dLQJNDIName</entry>
 						<entry>java.lang.String</entry>
@@ -212,7 +212,7 @@
 						<entry>No</entry>
 						<entry>org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler</entry>
 					</row>
-					
+
 					<row>
 						<entry>dLQUser</entry>
 						<entry>java.lang.String</entry>
@@ -220,7 +220,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>dLQPassword</entry>
 						<entry>java.lang.String</entry>
@@ -228,7 +228,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>dLQClientID</entry>
 						<entry>java.lang.String</entry>
@@ -236,7 +236,7 @@
 						<entry>No</entry>
 						<entry></entry>
 					</row>
-					
+
 					<row>
 						<entry>dLQMaxResent</entry>
 						<entry>int</entry>
@@ -244,7 +244,7 @@
 						<entry>No</entry>
 						<entry>5</entry>
 					</row>
-					
+
 					<row>
 						<entry>redeliverUnspecified</entry>
 						<entry>boolean</entry>
@@ -252,7 +252,7 @@
 						<entry>No</entry>
 						<entry>true</entry>
 					</row>
-					
+
 					<row>
 						<entry>transactionTimeout</entry>
 						<entry>int</entry>
@@ -260,20 +260,20 @@
 						<entry>No</entry>
 						<entry>Ddefault is the timeout set for the resource manager</entry>
 					</row>
-					
+
 				</tbody>
 			</tgroup>
-		</informaltable>		
+		</informaltable>
 	</para>
-	
+
 	<sect5>
 		The Destination :
-		
+
 		<para>
 			The <literal>queue-example-service.xml</literal> file defines the queues for this tutorial.
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Configuring Default MDB Properties :
 		<para>
@@ -281,23 +281,23 @@
 			annotations. Take a look at <literal>custom-ejb3-interceptors-aop.xml</literal>. Here we define a custom container
 			configuration domain, <literal>"Custom Message Driven Bean"</literal>, that adds a <literal>@DefaultActivationSpecs</literal>
 			annotation and <literal>destinationType</literal> and <literal>destination</literal> properties to each MDB using this domain.
-			Now take a look at <literal>org.jboss.tutorial.mdb.bean.DefaultedExampleMDB</literal>. The MDB is configured to use the 
+			Now take a look at <literal>org.jboss.tutorial.mdb.bean.DefaultedExampleMDB</literal>. The MDB is configured to use the
 			<literal>"Custom Message Driven Bean"</literal> container configuration domain via the <literal>@AspectDomain</literal> annotation.
 			Note there are no properties defined in the <literal>@MessageDriven</literal> annotation (they are all from the defaults).
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "mdb" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "mdb" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -314,18 +314,18 @@
      [java] Message sent successfully to remote queue queue/tutorial/defaultedexample
 
 
-		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-			
+
 			On the server console, you will notice the following logs:
 			<programlisting>
 				<![CDATA[
@@ -335,10 +335,10 @@
 15:37:57,210 INFO  [STDOUT] ----------------
 15:37:57,210 INFO  [STDOUT] Received message
 15:37:57,210 INFO  [STDOUT] ----------------
-				
+
 				]]>
-			</programlisting>				
+			</programlisting>
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb_deployment_descriptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb_deployment_descriptor.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/mdb_deployment_descriptor.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -2,9 +2,9 @@
 <chapter id="Message_Driven_Beans_with_deployment_descriptor">
 	<title>Configuring Message Driven Beans through deployment descriptors</title>
 	<para>
-		You configure properties by using the &lt;message-driven&gt; element and sub elements which correspond to the 
-		<literal>@ActivationConfigProperty</literal> annotation. 
-		<para>ejb-jar.xml:</para> 
+		You configure properties by using the &lt;message-driven&gt; element and sub elements which correspond to the
+		<literal>@ActivationConfigProperty</literal> annotation.
+		<para>ejb-jar.xml:</para>
 		<programlisting>
 			<![CDATA[
 <message-driven>
@@ -12,18 +12,18 @@
 	<ejb-class>org.jboss.tutorial.mdb_deployment_descriptor.bean.ExampleMDB</ejb-class>
      <transaction-type>Bean</transaction-type>
      <message-destination-type>javax.jms.Queue</message-destination-type>
-   <activation-config>   
+   <activation-config>
       <activation-config-property>
       	<activation-config-property-name>acknowledgeMode</activation-config-property-name>
       	<activation-config-property-value>AUTO_ACKNOWLEDGE</activation-config-property-value>
       </activation-config-property>
     </activation-config>
-    
+
 </message-driven>
-			
+
 			]]>
 		</programlisting>
-		
+
 		<para>jboss.xml</para>
 		<programlisting>
 			<![CDATA[
@@ -33,21 +33,21 @@
 </message-driven>
 			]]>
 		</programlisting>
-		
+
 		The <literal>queue/tutorial/example</literal> is configured through the <literal>queue-example-service.xml</literal>
 	</para>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "mdb_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "mdb_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -62,28 +62,28 @@
 run:
      [java] Message sent successfully to remote queue.
 
-		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-			
+
 			On the server console, you will notice the following logs:
 			<programlisting>
 				<![CDATA[
 23:37:38,175 INFO  [STDOUT] ----------------
 23:37:38,175 INFO  [STDOUT] Received message
 23:37:38,175 INFO  [STDOUT] ----------------
-				
+
 				]]>
-			</programlisting>				
+			</programlisting>
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/merge.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/merge.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/merge.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -2,14 +2,14 @@
 <chapter id="Merging_and_Basic_Queries_on_entities">
 	<title>Introduction to merging and querying of entities in EJB3</title>
 	<para>
-		This example shows a bunch of things. First, it introduces the <literal>@Column</literal> annotation. 
+		This example shows a bunch of things. First, it introduces the <literal>@Column</literal> annotation.
 		It also shows how entities can be detached and re-attached to persistence storage using the <literal>EntityManager.merge()</literal>.
 		It also shows some basic queries.
-		
+
 	</para>
 	<sect5>
 		@Column :
-		
+
 		<para>
 			EJB 3.0 has a complete Object/Relational mapping. You can use the <literal>@Column</literal> annotation to specify
 			which column in the table your property should map to. Take a look at the <literal>org.jboss.tutorial.merge.bean.Customer</literal>
@@ -21,22 +21,22 @@
 {
    return first;
 }
-				
+
 				]]>
 			</programlisting>
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Find by primary key :
 		<para>
 			The <literal>EntityManager</literal> service has a built in find by primary key method:
 			<programlisting>
 				<![CDATA[
-<T> find(Class<T>, Object pk)				
+<T> find(Class<T>, Object pk)
 				]]>
-			</programlisting> 
+			</programlisting>
 			The <literal>org.jboss.tutorial.merge.bean.CustomerDAOBean</literal> stateless EJB's <literal>find()</literal> method
 			wraps remote calls to the EntityManager.
 			<programlisting>
@@ -45,12 +45,12 @@
 {
    return manager.find(Customer.class, id);
 }
-				
+
 				]]>
 			</programlisting>
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Queries :
 		<para>
@@ -63,12 +63,12 @@
 {
    return manager.createQuery("from Customer c where c.last = :name").setParameter("name", name).getResultList();
 }
-				
+
 				]]>
 			</programlisting>
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Merging :
 		<para>
@@ -76,21 +76,21 @@
 			the network to the client. The client can make updates locally to the object, send it back to the server and the changes
 			can be merged/synchronized back to the database using the <literal>EntityManager.merge()</literal> method.
 			This is exactly what the <literal>org.jboss.tutorial.merge.client.Client</literal> does.
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "merge" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "merge" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -109,31 +109,31 @@
      [java] There are now 2 Burkes
 
 
-		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 	<sect5>
 			View the tables and rows:
-	
+
 		<para>
-			You can view the tables created by JBoss by going to the 
+			You can view the tables created by JBoss by going to the
 			<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 			A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-		
+
 		</para>
 	</sect5>
-	
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -11,10 +11,10 @@
       Overview :
 		<para>
 	 		Beans in EJB 3.0 can be specified via source code annotations and/or a deployment descriptor. The deployment descriptor is used to
-	 		augment or override the source code annotations. There are some limitations on which annotations may be overridden, however. 
-	 		The annotations that specify the bean itself (e.g. <literal>@Stateless</literal>, <literal>@Stateful</literal>, 
+	 		augment or override the source code annotations. There are some limitations on which annotations may be overridden, however.
+	 		The annotations that specify the bean itself (e.g. <literal>@Stateless</literal>, <literal>@Stateful</literal>,
 	 		<literal>@MessageDriven</literal>, <literal>@Service</literal>,  <literal>@Consumer</literal>) cannot be overridden.
-	 		The EJB 3.0 <literal>ejb-jar.xml</literal> deployment descriptor xsd specifies the majority of tags as optional in order to 
+	 		The EJB 3.0 <literal>ejb-jar.xml</literal> deployment descriptor xsd specifies the majority of tags as optional in order to
 	 		support annotation augmentation and overrides. The deployment descriptor does not need to specify all of the required information,
 	 		just that additional information to override or augment the source code annotations.
       </para>
@@ -25,10 +25,10 @@
          	This section contains examples of complete and partial deployment descriptors for completely specifying or overriding
          	specific behaviors of EJBs.
       	</para>
-      	<sect5>  
+      	<sect5>
          	Complete deployment descriptor :
          	<para>
-            	Take a look at the <literal>META-INF/ejb-jar.xml</literal>. The ejb-jar.xml in this tutorial configures the <literal>CompleteXMLDD</literal> 
+            	Take a look at the <literal>META-INF/ejb-jar.xml</literal>. The ejb-jar.xml in this tutorial configures the <literal>CompleteXMLDD</literal>
             	bean only through the deployment descriptor. The <literal>PartialXMLDD</literal> bean is configured through the deployment descriptor
             	as well as through annotations.
 				<programlisting>
@@ -72,7 +72,7 @@
          	<lifecycle-callback-class>org.jboss.tutorial.partial_deployment_descriptor.bean.ExternalCallbackListener</lifecycle-callback-class>
          	<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
          </post-construct>
-         
+
          <security-identity>
             <run-as>
                <role-name>admin</role-name>
@@ -98,7 +98,7 @@
          	</bean-method>
          </remove-method>
          <transaction-type>Container</transaction-type>
-         
+
          <env-entry>
             <env-entry-name>id</env-entry-name>
             <env-entry-type>java.lang.String</env-entry-type>
@@ -187,28 +187,28 @@
             <method-name>uncallableMethod</method-name>
          </method>
       </exclude-list>
-      
+
    </assembly-descriptor>
-        
+
 </ejb-jar>
 
 			]]>
 		</programlisting>
        </para>
       </sect5>
-      <sect5>  
+      <sect5>
          Transactions :
          <para>
-            The following <literal>ejb-jar.xml</literal> file overrides any <literal>@TransactionAttribute</literal> annotations for the 
-            <literal>greetWithNotSupportedTransaction</literal> method of the <literal>CompleteXMLDD</literal> bean and adds a 
+            The following <literal>ejb-jar.xml</literal> file overrides any <literal>@TransactionAttribute</literal> annotations for the
+            <literal>greetWithNotSupportedTransaction</literal> method of the <literal>CompleteXMLDD</literal> bean and adds a
             <literal>@TransactionAttribute</literal> annotation for <literal>NOT SUPPORTED</literal>.
             <programlisting>
             	<![CDATA[
 @TransactionAttribute (TransactionAttributeType.REQUIRES_NEW)
 public String greetWithNotSupportedTransaction(String name)
 {
-            	
-...            	
+
+...
 <container-transaction>
    <method>
       <ejb-name>CompleteXMLDD</ejb-name>
@@ -220,14 +220,14 @@
             ]]></programlisting>
          </para>
       </sect5>
-      <sect5>  
+      <sect5>
          References :
          <para>
-            The following <literal>ejb-jar.xml</literal> file creates a EJB reference and injects the EJB to the injection 
+            The following <literal>ejb-jar.xml</literal> file creates a EJB reference and injects the EJB to the injection
             target of the <literal>partialXMLDDBean</literal> member variable.
             <programlisting><![CDATA[
 <ejb-name>CompleteXMLDD</ejb-name>
-...            
+...
 <ejb-ref>
    <ejb-ref-name>ejb/PartialXMLDD</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
@@ -241,15 +241,15 @@
             ]]></programlisting>
          </para>
       </sect5>
-      <sect5>  
+      <sect5>
          Callbacks :
          <para>
-            The following <literal>ejb-jar.xml</literal> file adds a <literal>@PostConstruct</literal> annotation to the 
+            The following <literal>ejb-jar.xml</literal> file adds a <literal>@PostConstruct</literal> annotation to the
             <literal>postConstruct</literal> method of the <literal>CompleteXMLDD</literal> bean.
             <programlisting>
             	<![CDATA[
-<ejb-name>CompleteXMLDD</ejb-name>            	
-...            	
+<ejb-name>CompleteXMLDD</ejb-name>
+...
 <post-construct>
 	<lifecycle-callback-class>org.jboss.tutorial.partial_deployment_descriptor.bean.ExternalCallbackListener</lifecycle-callback-class>
 	<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
@@ -260,18 +260,18 @@
          </para>
       </sect5>
    </sect5>
-   
+
    	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "partial_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "partial_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -288,7 +288,7 @@
      [java] Hello, jai. I am the CompleteXMLDDBean. I have the following resources with me:
      [java] Timer Service : org.jboss.ejb3.timerservice.jboss.TimerServiceFacade at 184a6b9
      [java] PartialXMLDD Bean : Proxy to jboss.j2ee:jar=jboss-ejb3-tutorial-partial_deployment_descriptor.jar,name=PartialXMLDD,service=EJB3 implementing [interface org.jboss.ejb3.proxy.intf.EjbProxy, interface org.jboss.tutorial.partial_deployment_descriptor.bean.PartialXMLDD, interface org.jboss.ejb3.proxy.intf.StatefulSessionProxy, interface org.jboss.ejb3.proxy.intf.SessionProxy]
-     [java] 
+     [java]
      [java] Welcome jai, you are in a method with no transaction supported
      [java] Welcome jai, you are in a method with a REQUIRED transaction
      [java] Bye, jai. Hope to see you again
@@ -305,18 +305,18 @@
 
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-   
-   
+	</sect5>
+
+
 </chapter>
 

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/reference21_30.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/reference21_30.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/reference21_30.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -4,15 +4,15 @@
 	<para>
 		EJB3 beans may reference EJB2.1 and vice versa. This tutorial demonstrates mechanisms for such references.
 	</para>
-	
-	<sect5>	
+
+	<sect5>
 		EJB2.1 referencing EJB3:
 		<para>
-		 To start, take a look at the EJB3 SLSB <literal>org.jboss.tutorial.reference21_30.bean.Stateless3Bean</literal>, 
+		 To start, take a look at the EJB3 SLSB <literal>org.jboss.tutorial.reference21_30.bean.Stateless3Bean</literal>,
 		 the EJB2.1 SLSB <literal>org.jboss.tutorial.reference21_30.bean.Stateless2Bean</literal>
 		and the deployment descriptors for the EJB2.1 SLSB <literal>ejb21_app/src/main/resources/META-INF/ejb-jar.xml</literal> and
 		<literal>ejb21_app/src/main/resources/META-INF/jboss.xml</literal>:
-		
+
 			<programlisting>
 				<![CDATA[
 <session>
@@ -27,8 +27,8 @@
 			<ejb-ref-type>Session</ejb-ref-type>
 			<home>org.jboss.tutorial.reference21_30.bean.Stateless3Home</home>
 			<remote>org.jboss.tutorial.reference21_30.bean.Stateless3</remote>
-	</ejb-ref> 
-</session>			
+	</ejb-ref>
+</session>
 				]]>
 			</programlisting>
 			<important>
@@ -36,16 +36,16 @@
 					Notice, the ejb-jar.xml use a 2.x dtd for this EJB2.x application:
 					<programlisting>
 						<![CDATA[
-<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" 
-                         "http://java.sun.com/dtd/ejb-jar_2_0.dtd">					
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
+                         "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
 						]]>
-					</programlisting> 
-				</para>	
+					</programlisting>
+				</para>
 			</important>
-		
+
 			The <literal>ejb-ref</literal> element references the 3.0 EJB. This mapping will make available the <literal>Stateless3</literal> bean
 			in the ENC (java:comp/env) namespace of the <literal>Stateless2</literal> EJB.
-		
+
 			<important>
 				<para>
 					Observe carefully, the use of <literal>&lt;home&gt;</literal> and <literal>&lt;remote&gt;</literal> in the <literal>ejb-ref</literal>.
@@ -58,43 +58,43 @@
 @RemoteHome(Stateless3Home.class)
 public class Stateless3Bean
 {
-...					
+...
 						]]>
 					</programlisting>
-				
+
 					<programlisting>
 						<![CDATA[
 public interface Stateless3Home extends EJBHome
 {
 
    public Stateless3Remote create() throws java.rmi.RemoteException, javax.ejb.CreateException;
-...   					
+...
 						]]>
 					</programlisting>
 				</para>
-			</important> 
+			</important>
 		</para>
 	</sect5>
-	
-	<sect5>	
+
+	<sect5>
 		EJB3 referencing EJB2.1 bean:
-		
+
 		<para>
-			Two mechanisms for referencing EJB2.1 from a EJB3 are demonstrated. The first mechanism uses annotations exclusively. 
-			Note the <literal>@EJBs</literal> annotation on <literal>org.jboss.tutorial.reference21_30.bean.Stateless3Bean</literal>. 
+			Two mechanisms for referencing EJB2.1 from a EJB3 are demonstrated. The first mechanism uses annotations exclusively.
+			Note the <literal>@EJBs</literal> annotation on <literal>org.jboss.tutorial.reference21_30.bean.Stateless3Bean</literal>.
 			The <literal>name</literal> parameter for the <literal>@EJB</literal> specifies the name with which the 2.1 EJB will be bound
-			in the ENC (java:comp/env) namespace of the <literal>Stateless3Bean</literal>. The <literal>mapped-name</literal> parameter 
-			specifies the global JNDI binding of the 2.1 EJB. 
+			in the ENC (java:comp/env) namespace of the <literal>Stateless3Bean</literal>. The <literal>mapped-name</literal> parameter
+			specifies the global JNDI binding of the 2.1 EJB.
 			<programlisting>
 				<![CDATA[
 @EJBs(
 {@EJB(name = "injected/Stateless2", mappedName = "Stateless2")})
 public class Stateless3Bean
 {
-...				
+...
 				]]>
 			</programlisting>
-			
+
 			<note>
 				<para>
 					The <literal>testAccess</literal> method in the <literal>Stateless3Bean</literal> looks up this EJB2.1 using the
@@ -102,13 +102,13 @@
 					<programlisting>
 						<![CDATA[
 Stateless2Home home = (Stateless2Home) jndiContext.lookup(Container.ENC_CTX_NAME + "/env/injected/Stateless2");
-Stateless2 test2 = home.create();						
+Stateless2 test2 = home.create();
 						]]>
 					</programlisting>
 					Also note that since the bean being looked up is a EJB2.1 bean, the lookup will return the home interface of the bean.
 				</para>
 			</note>
-			
+
 			The second mechanism of referencing a EJB2.1 bean in a EJB3 bean is through the deployment descriptors. Take a look at the
 			<literal>ejb3_app/src/main/resources/META-INF/ejb-jar.xml</literal> and <literal>ejb3_app/src/main/resources/META-INF/jboss.xml</literal>
 			<programlisting>
@@ -118,8 +118,8 @@
 	<ejb-ref>
 		<ejb-ref-name>ejb/Stateless2</ejb-ref-name>
 		<ejb-ref-type>Session</ejb-ref-type>
-	</ejb-ref>            
-</session>				
+	</ejb-ref>
+</session>
 				]]>
 			</programlisting>
 			<important>
@@ -134,13 +134,13 @@
                             http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
         version="3.0">
         				]]>
-					</programlisting>				
+					</programlisting>
 				</para>
 			</important>
-			This binds the Stateless2 bean to the ENC (java:comp/env) namespace of the Stateless3Bean. Also take a look at the 
+			This binds the Stateless2 bean to the ENC (java:comp/env) namespace of the Stateless3Bean. Also take a look at the
 			<literal>ejb3_app/src/main/resources/META-INF/jboss.xml</literal> which maps the global jndi name of the Stateless2
 			bean with the ejb-ref-name.
-			
+
 			<programlisting>
 				<![CDATA[
 <session>
@@ -149,7 +149,7 @@
 		<ejb-ref-name>ejb/Stateless2</ejb-ref-name>
 		<jndi-name>Stateless2</jndi-name>
 	</ejb-ref>
-</session>				
+</session>
 				]]>
 			</programlisting>
 			This reference is then used to inject the Stateless2 bean in the Stateless3Bean using <literal>@EJB</literal> annotation:
@@ -157,10 +157,10 @@
 				<![CDATA[
 @EJB (name="ejb/Stateless2")
 private Stateless2Home stateless2Home;
-				
+
 				]]>
 			</programlisting>
-			
+
 			<note>
 				The <literal>org.jboss.tutorial.reference21_30.bean.Stateless3Bean</literal> also exposes a business-remote interface, so
 				that the <literal>org.jboss.tutorial.reference21_30.servlet.EJBReferenceServlet</literal> can use the business-remote interface.
@@ -171,34 +171,34 @@
 @RemoteBinding(jndiBinding = "Stateless3")
 public class Stateless3Bean
 {
-...					
+...
 					]]>
-				</programlisting>				
+				</programlisting>
 			</note>
-			
+
 			<important>
 				<para>
 					There's a very important difference between the <literal>remote</literal> and a <literal>business-remote</literal>
 					interface. The EJB2.x remote interfaces, which extend from EJBObject, are referred through the <literal>&lt;remote&gt;</literal>
-					tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style 
+					tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style
 					POJO bean is known as the business-remote interface and is represented by the <literal>@Remote</literal> and it's
 					corresponding <literal>&lt;business-remote&gt;</literal> tag in ejb-jar.xml.
-					
+
 					Similar is the case with <literal>&lt;local&gt;</literal> and the <literal>&lt;business-local&gt;</literal> tags in ejb-jar.xml.
 				</para>
 			</important>
 		</para>
-		
-		
+
+
 	</sect5>
-	
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -218,24 +218,24 @@
 	</programlisting>
 	<para>
 		This will deploy the ear into the JBossAS-5.x server ("default" configuration).
-	</para> 
+	</para>
 	<sect5 id="Reference21_30_AccessTheWebApp">
 		To access the servlet, open a web browser and enter <ulink url="http://localhost:8080/jboss-ejb3-tutorial-reference21_30_webapp">http://localhost:8080/jboss-ejb3-tutorial-reference21_30_webapp</ulink>.
 		This will bring up a page where you can click on the <literal>Test</literal> button to check that the EJB2.1 and EJB3 beans are referencing
 		each other.
 	</sect5>
-	
+
 	<sect5>
-Maven Users: 
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean package
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
 	<para>
 		This will create the EAR in the <literal>target</literal> folder of the tutorial. Copy this EAR to the deploy folder of JBossAS-5.x
 		and start the server (if it's already not started). Then follow the steps mentioned above, to access the servlet from the web browser.
 	</para>
 
-	
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/relationships.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/relationships.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/relationships.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -5,7 +5,7 @@
 		The "entity" tutorial only showed one-to-many and many-to-one relationships.
 		This tutorial will show you one-to-one and many-to-many relationships.
 	</para>
-	
+
 	<sect5>
 		One-to-One :
 		<para>
@@ -20,18 +20,18 @@
 {
    return address;
 }
-			
+
 			]]>
 		</programlisting>
 		<para>
-			<literal>CascadeType.ALL</literal> specifies that when a Customer is created, if there is any 
+			<literal>CascadeType.ALL</literal> specifies that when a Customer is created, if there is any
 			Address association, then that Address will be created as well(<literal>CascadeType.PERSIST</literal>).
 			If the Customer is deleted from persistence storage, the Address will be deleted(<literal>CascadeType.REMOVE</literal>).
 			If a Customer instance is re-attached to persistence storage, any changes to the Address collection will be merged with
 			persistence storage (<literal>CascadeType.MERGE</literal>).
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Many-To-Many :
 		<para>
@@ -39,11 +39,11 @@
 			and <literal>org.jboss.tutorial.relationships.bean.Flight</literal>. In order to have a many-to-many relationship
 			there needs to be a distinct join table that maps the many-to-many relationship. This is called an association table.
 			 You can have JBoss automatically generate the association table for you, or you can use the <literal>@JoinTable</literal>
-			 annotation to define it yourself. If you use <literal>@JoinTable</literal> it must be defined on both sides of the 
+			 annotation to define it yourself. If you use <literal>@JoinTable</literal> it must be defined on both sides of the
 			 bi-directional relationship.  Let's look at the Customer side of the relationship:
 			 <programlisting>
 			 	<![CDATA[
- at ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER, mappedBy="customers")			 	
+ at ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER, mappedBy="customers")
 			 	]]>
 			 </programlisting>
 			 <para>
@@ -62,34 +62,34 @@
 {
    return customers;
 }
-				
+
 				]]>
-			</programlisting> 	
+			</programlisting>
 			The database associate table will look like this:
-			
+
 			<programlisting>
 				<![CDATA[
 create table FLIGHT_CUSTOMER_TABLE (
       CUSTOMER_ID integer,
       FLIGHT_ID integer
-   );				
+   );
 				]]>
 			</programlisting>
 		</para>
-		
+
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "relationships" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "relationships" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -109,31 +109,31 @@
      [java] Molly
 
 
-		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 	<sect5>
 			View the tables and rows:
-	
+
 		<para>
-			You can view the tables created by JBoss by going to the 
+			You can view the tables created by JBoss by going to the
 			<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 			A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-		
+
 		</para>
 	</sect5>
-	
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/resource_ref.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/resource_ref.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/resource_ref.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -8,18 +8,18 @@
 		set by the bean deployer. The mapping of the bean local jndi binding and the global binding may be handled
 		via the ejb-jar.xml and jboss.xml deployment descriptors.
 	</para>
-	
+
 	<sect5>
 		ejb-jar.xml :
-		
+
 		<para>
 			Take a look at <literal>META-INF/ejb-jar.xml</literal>. For <literal>ENCBean</literal>, there are 3
 			<literal>&lt;resource-ref&gt;</literal> elements indicating resource reference names and types.
-		
+
 		</para>
-	
+
 	</sect5>
-	
+
 	<sect5>
 		jboss.xml :
 		<para>
@@ -27,11 +27,11 @@
 			3 <literal>&lt;resource-ref&gt;</literal> elements indicating resource reference names and either the global jndi
 			binding via the <literal>&lt;jndi-name&gt;</literal> element or the resource name. Resource managers
 			are used to map resource names to global jndi bindings via the <literal>&lt;resource-managers&gt;</literal> element.
-			
+
 		</para>
-	
+
 	</sect5>
-	
+
 	<sect5>
 		TestENCBean.java :
 		<para>
@@ -40,18 +40,18 @@
 			in the deployment descriptors.
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "resource_ref" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "resource_ref" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -65,18 +65,18 @@
 
 run:
      [java] Successfully accessed bean resource references
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
 	</sect5>
 	<para>
@@ -87,9 +87,9 @@
 13:44:09,500 INFO  [TestENCBean] Found mail resource ref
 13:44:09,500 INFO  [TestENCBean] Found jms queue resource ref
 13:44:09,500 INFO  [TestENCBean] Found jms queue resource env ref
-			
+
 			]]>
 		</programlisting>
-	</para>	
-	
+	</para>
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/secondary.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/secondary.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/secondary.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -3,10 +3,10 @@
 	<title>Introduction to Secondary tables for EJB3 entities</title>
 	<para>
 		The EJB specification allows you to map an entity bean to multiple tables. You do this by using the <literal>@SecondaryTable</literal>
-		annotation.  
+		annotation.
 	</para>
 	<para>
-		The <literal>org.jboss.tutorial.secondary.bean.Customer</literal> entity maps its address properties to a 
+		The <literal>org.jboss.tutorial.secondary.bean.Customer</literal> entity maps its address properties to a
 		separate ADDRESS table. The first thing it does is define the secondary table.
 		<programlisting>
 			<![CDATA[
@@ -15,7 +15,7 @@
 @SecondaryTable(name = "EMBEDDED_ADDRESS", join = {@JoinColumn(name = "ADDRESS_ID")})
 public class Customer implements java.io.Serializable
 {
-}			
+}
 			]]>
 		</programlisting>
 		The <literal>@JoinColumn</literal> of the secondary table must match the value of the Customer's primary key. To map
@@ -27,22 +27,22 @@
 {
    return street;
 }
-			
+
 			]]>
 		</programlisting>
-	</para>	
-	
+	</para>
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "secondary" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "secondary" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -61,31 +61,31 @@
      [java] There are now 2 Burkes
 
 
-		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 	<sect5>
 			View the tables and rows:
-	
+
 		<para>
-			You can view the tables created by JBoss by going to the 
+			You can view the tables created by JBoss by going to the
 			<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 			A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-		
+
 		</para>
 	</sect5>
-	
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/security.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/security.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/security.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Security_and_Transactions_in_EJB3">
 	<title>Introduction to Security and Transactions in EJB3</title>
-		
+
 	<para>
-		The EJB 3.0 specification has made the XML deployment descriptors optional. This tutorial goes over how to 
+		The EJB 3.0 specification has made the XML deployment descriptors optional. This tutorial goes over how to
 		use the transaction and security annotations of EJB 3.0.
-		
+
 	</para>
 	<sect5>
 		Transactions :
@@ -20,13 +20,13 @@
 {
    return x + y;
 }
-				
+
 				]]>
 			</programlisting>
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Security :
 		<para>
@@ -38,10 +38,10 @@
 			See the JBoss Application Server documentation for more details. In this particular example, the "other" domain is used.
 			The "other" domain corresponds to a users.properties and roles.properties files that contain cleartext user, password, and user/role associations.
 			If you open the tutorial jar file you will see these two files in there.
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Client :
 		<para>
@@ -52,10 +52,10 @@
 				<![CDATA[
 import org.jboss.security.client.SecurityClient;
 import org.jboss.security.client.SecurityClientFactory;
-				
+
 SecurityClient securityClient = SecurityClientFactory.getSecurityClient();
 securityClient.setSimple("kabir", "invalidpassword");
-securityClient.login();				
+securityClient.login();
 				]]>
 			</programlisting>
 			<note>
@@ -63,18 +63,18 @@
 			</note>
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "security" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "security" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -100,25 +100,25 @@
 
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
 		<note>
 			<para>
 				If you want to change the roles for the user, through the roles.properties, you will have to
-				restart the server, for the role changes to take effect. This is because by default JBoss caches the roles for a 
+				restart the server, for the role changes to take effect. This is because by default JBoss caches the roles for a
 				user and until the cache is flushed, either through this <ulink url="http://www.jboss.org/community/docs/DOC-9246">configuration</ulink>
 				or through server restart, the changes won't take effect.
 			</para>
 		</note>
-	</sect5>	
-	
-		
+	</sect5>
+
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/service.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/service.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/service.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,34 +1,34 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Service_POJOs">
 	<title>Service POJOs (JBoss extension of EJB3)</title>
-		
+
 	<para>
-		Service POJOs allow you to define POJOs as JBoss services. The way you define them is very similar 
+		Service POJOs allow you to define POJOs as JBoss services. The way you define them is very similar
 		to how you define stateless or stateful session beans. One very important difference is that there
-		will only ever be ONE instance of the service bean. i.e. it is not pooled - the bean instance is a 
+		will only ever be ONE instance of the service bean. i.e. it is not pooled - the bean instance is a
 		singleton. The singleton bean contains shared state, so data set by one client is accessible by other clients.
 	</para>
-	
+
 	<para>
 		Take a look at <literal>org.jboss.tutorial.service.bean.ServiceOne.java</literal>.
 		It has been annotated with <literal>@org.jboss.ejb3.annotation.Service</literal>, this defines it as a
 		singleton service in JBoss. It implements <literal>org.jboss.tutorial.service.bean.ServiceOneRemote</literal>
-		and <literal>org.jboss.tutorial.service.bean.ServiceOneLocal</literal> just as you would do for a normal stateful/stateless bean. 
+		and <literal>org.jboss.tutorial.service.bean.ServiceOneLocal</literal> just as you would do for a normal stateful/stateless bean.
 	</para>
-	
+
 	<para>
 		ServiceOne also implements <literal>org.jboss.tutorial.service.bean.ServiceOneManagement</literal>.
 		<literal>org.jboss.tutorial.service.bean.ServiceOne</literal> has been annotated with <literal>@org.jboss.ejb3.annotation.Management</literal>.
-		JBoss will inspect this interface, and create and install an MBean implementing the attributes and operations defined in the <literal>@Management</literal> 
+		JBoss will inspect this interface, and create and install an MBean implementing the attributes and operations defined in the <literal>@Management</literal>
 		interface. The MBean will work on the same singleton bean instance as the remote and local interfaces.
-		
+
 	</para>
-	
-	
+
+
 	<sect5>
 		Lifecycle :
 		<para>
-			Just as for "normal" MBeans in JBoss, the <literal>@Service</literal> supports lifecycle management. Lifecycle management 
+			Just as for "normal" MBeans in JBoss, the <literal>@Service</literal> supports lifecycle management. Lifecycle management
 			consists of two things:
 			<itemizedlist>
 				<listitem>
@@ -40,7 +40,7 @@
 			</itemizedlist>
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Lifecycle methods :
 		<para>
@@ -54,7 +54,7 @@
 void stop();
 
 void destroy();
-				
+
 				]]>
 			</programlisting>
 			You do not need to include all these methods, you can pick and choose. If present, the service container will call
@@ -62,31 +62,31 @@
 			<itemizedlist>
 				<listitem>
 					<literal>create</literal> : called by the server when the service is created and all the services it depends
-					upon have been created too. At this point the service (and all the services it depends on) is installed in the 
+					upon have been created too. At this point the service (and all the services it depends on) is installed in the
 					JMX server, but is not yet fully functional.
 				</listitem>
 				<listitem>
-					<literal>start</literal> : called by the server when the service is started and all the services it depends upon 
+					<literal>start</literal> : called by the server when the service is started and all the services it depends upon
 					have been started too. At this point the service (and all the services it depends on) is fully functional.
 				</listitem>
 				<listitem>
-					<literal>stop</literal> : called by the server when the service is stopped. At this point the service 
+					<literal>stop</literal> : called by the server when the service is stopped. At this point the service
 					(and all the services that depend on it) is no longer fully operational.
 				</listitem>
 				<listitem>
 					<literal>destroy</literal> : called by the server when the service is destroyed and removed from the MBean server.
-					At this point the service (and all the services that depend on it) are destroyed. 
+					At this point the service (and all the services that depend on it) are destroyed.
 				</listitem>
 			</itemizedlist>
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Depends and custom JMX object name :
 		<para>
 			Let's take a look at how to define the dependencies between services. Open <literal>org.jboss.tutorial.service.bean.ServiceTwo</literal>.
-			Again it has been annotated with @Service, and it implements the @Management annotated interface <literal>org.jboss.tutorial.service.bean.ServiceTwoManagement</literal>. 
+			Again it has been annotated with @Service, and it implements the @Management annotated interface <literal>org.jboss.tutorial.service.bean.ServiceTwoManagement</literal>.
 			<programlisting>
 				<![CDATA[
 @Service(objectName = ServiceTwo.OBJECT_NAME)
@@ -94,24 +94,24 @@
 @Depends(ServiceOne.OBJECT_NAME)
 public class ServiceTwo implements ServiceTwoManagement
 {
-...				
+...
 				]]>
 			</programlisting>
-			The <literal>@org.jboss.ejb3.annotation.Depends</literal> annotation specifies that this service depends on 
+			The <literal>@org.jboss.ejb3.annotation.Depends</literal> annotation specifies that this service depends on
 			the service created for ServiceOne. i.e. it cannot be started until the service created for ServiceOne has been started.
 			<note>
 				<para>
 					You can specify an array of <literal>ObjectName</literal>s if you depended on more than one service.
 				</para>
-				
+
 			</note>
 			You will also notice the use of <literal>objectName</literal> property of @Service. This is used to install the service
-			under a custom ObjectName instead of the default ObjectName. So in this tutorial, our ServiceTwo will be registered at 
-			<literal>tutorial:service=ServiceTwo</literal>				
+			under a custom ObjectName instead of the default ObjectName. So in this tutorial, our ServiceTwo will be registered at
+			<literal>tutorial:service=ServiceTwo</literal>
 		</para>
-		
+
 	</sect5>
-	
+
 	<sect5>
 		Depends injection :
 		<para>
@@ -123,30 +123,30 @@
 public ObjectName serviceOneName;
 
 private ServiceTwoManagement service2;
-   
+
 @Depends(ServiceTwo.OBJECT_NAME)
 public void setServiceTwo(ServiceTwoManagement service2)
 {
 	this.service2 = service2;
-}				
+}
 				]]>
-			</programlisting> 
+			</programlisting>
 			With regard to the lifecycle dependencies, the effect of annotating fields and setters with @Depends is the same
 			as if we annotated the class. So, ServiceThree cannot be started until ServiceOne (<literal>tutorial:service=ServiceOne</literal>) and ServiceTwo(<literal>tutorial:service=ServiceTwo</literal>)
 			are started. Annotating the fields and setters with @Depends though, allows you to inject the dependencies. So in this tutorial,
-			the <literal>ServiceThree.serviceOneName</literal> will be injected with the <literal>ObjectName</literal> which corresponds to 
-			ServiceOne.	More interesting is the injection of ServiceTwo. <literal>setServiceTwo()</literal> takes a parameter, which is the 
-			<literal>ServiceTwoManagement</literal> management interface of ServiceTwo. The server creates a dynamic proxy for 
+			the <literal>ServiceThree.serviceOneName</literal> will be injected with the <literal>ObjectName</literal> which corresponds to
+			ServiceOne.	More interesting is the injection of ServiceTwo. <literal>setServiceTwo()</literal> takes a parameter, which is the
+			<literal>ServiceTwoManagement</literal> management interface of ServiceTwo. The server creates a dynamic proxy for
 			the ServiceTwoManagement interface, and injects that. This means that you can call the methods on the <literal>service2</literal>
 			field without caring that you are actually invoking methods on another service.
 		</para>
-	
+
 	</sect5>
-	
+
 	<sect5>
 		Interceptors :
 		<para>
-			You can define interceptors for your service beans in the same way as shown in the "interceptors" tutorial. 
+			You can define interceptors for your service beans in the same way as shown in the "interceptors" tutorial.
 			This example defines one in the ServiceThree bean class itself:
 			<programlisting>
 				<![CDATA[
@@ -155,17 +155,17 @@
 {
    System.out.println("ServiceThree - Interceptor");
    return ctx.proceed();
-}				
+}
 				]]>
 			</programlisting>
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Defining Management Interface via XML :
 		<para>
 			You can deploy a Service bean as an XMBean, where the management attributes and operations are defined via xml.
-			Take a look at <literal>org.jboss.tutorial.service.bean.XMBeanService</literal>. Note the @Service annotation 
+			Take a look at <literal>org.jboss.tutorial.service.bean.XMBeanService</literal>. Note the @Service annotation
 			specifies an <literal>xmbean</literal> property. Also note there is no @Management annotation.
 			<programlisting>
 				<![CDATA[
@@ -173,7 +173,7 @@
 @Remote(XMBeanServiceRemote.class)
 public class XMBeanService implements XMBeanServiceRemote
 {
-...				
+...
 				]]>
 			</programlisting>
 			 Now take a look at <literal>META-INF/service-xmbean.xml</literal>. This is the file referenced by the <literal>xmbean</literal>
@@ -181,14 +181,14 @@
 			 <literal>attribute</literal> and <literal>operation</literal> elements.
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
@@ -216,23 +216,23 @@
      [java] Invoking XMBean through JMX
      [java] attribute value for (XMBeanService deployment descriptor configured) singleton obtained via JMX is what we set via remote interface: 50
      [java] Hello from an XMBean
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
+	</sect5>
 	<para>
 		On the server side when the application is deployed, you will notice these logs:
-		
+
 		<programlisting>
 			<![CDATA[
 16:56:54,036 INFO  [STDOUT] ServiceOne - Created
@@ -242,10 +242,10 @@
 16:56:54,142 INFO  [STDOUT] ServiceTwo - Started
 ...
 16:56:54,226 INFO  [STDOUT] ServiceThree - Started
-			
+
 			]]>
 		</programlisting>
-		Notice that the order is maintained because of the dependencies we have configured on the @Service. 
+		Notice that the order is maintained because of the dependencies we have configured on the @Service.
 	</para>
-	
+
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/service_deployment_descriptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/service_deployment_descriptor.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/service_deployment_descriptor.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Service_POJOs_through_deployment_descriptors">
 	<title>Service POJOs (JBoss extension of EJB3) using deployment descriptors</title>
-	
+
 	<para>
 		This tutorial is similar to the "service" tutorial which shows how to use Service POJOs in JBoss.
 		In this tutorial we will use deployment descriptors instead of annotations to configure the services.
@@ -9,23 +9,23 @@
 
 	<para>
 		Take a look at <literal>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOne</literal> and the corresponding deployment
-		descriptor <literal>META-INF/jboss.xml</literal>. The <literal>&lt;service&gt;</literal> tag defines it as a 
+		descriptor <literal>META-INF/jboss.xml</literal>. The <literal>&lt;service&gt;</literal> tag defines it as a
 		singleton service in JBoss. It implements <literal>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOneRemote</literal>
 		and <literal>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOneLocal</literal> using the <literal>&lt;business-remote&gt;</literal>
-		and <literal>&lt;business-local&gt;</literal> tags. 
+		and <literal>&lt;business-local&gt;</literal> tags.
 	</para>
-	
+
 	<para>
 		ServiceOne also implements <literal>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOneManagement</literal>
-		identified through the <literal>&lt;management&gt;</literal> tag. JBoss will inspect this interface, and create and 
+		identified through the <literal>&lt;management&gt;</literal> tag. JBoss will inspect this interface, and create and
 		install an MBean implementing the attributes and operations defined in the interface. The MBean will work on the same
 		singleton bean instance as the remote and local interfaces.
 	</para>
-	
+
 	<para>
 		The <literal>META-INF/jboss.xml</literal> also shows that the default ObjectName of the service can be overriden
 		using the <literal>&lt;object-name&gt;</literal> tag:
-		
+
 		<programlisting>
 			<![CDATA[
 <service>
@@ -33,33 +33,33 @@
    <ejb-class>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOne</ejb-class>
    <business-local>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOneLocal</business-local>
    <business-remote>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOneRemote</business-remote>
-   <object-name>tutorial:service=serviceOne</object-name>  
+   <object-name>tutorial:service=serviceOne</object-name>
    <management>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceOneManagement</management>
    <jndi-name>serviceOne/remote</jndi-name>
    <local-jndi-name>serviceOne/local</local-jndi-name>
-</service>			
+</service>
 			]]>
 		</programlisting>
 	</para>
-	
+
 	<para>
 		Take a look at <literal>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceThree</literal> and
 		<literal>org.jboss.tutorial.service_deployment_descriptor.bean.ServiceTwo</literal> where we use the <literal>@Depends</literal>
-		annotation to add dependencies between services. 
+		annotation to add dependencies between services.
 		<note>
 			<para>
 				For a detailed explanation of @Depends in @Service, take a look at our "service" tutorial.
-			</para>	
+			</para>
 		</note>
 	</para>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
@@ -81,20 +81,20 @@
      [java] Hello from service Two
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
+	</sect5>
 	<para>
 		On the server side when the application is deployed, you will notice these logs:
-		
+
 		<programlisting>
 			<![CDATA[
 17:37:17,869 INFO  [STDOUT] ServiceOne - Started
@@ -102,10 +102,10 @@
 17:37:17,910 INFO  [STDOUT] ServiceTwo - Started
 ...
 17:37:17,949 INFO  [STDOUT] ServiceThree - Started
-			
+
 			]]>
 		</programlisting>
-		Notice that the order is maintained because of the dependencies we have configured on the @Service. 
+		Notice that the order is maintained because of the dependencies we have configured on the @Service.
 	</para>
 
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/singleinheritance.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/singleinheritance.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/singleinheritance.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,18 +1,18 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Single_Inheritance_in_EJB3_Entities">
 	<title>Introduction Single Inheritance in EJB3 Entities</title>
-		
+
 	<para>
 		The EJB specification allows you to define entities that inherit from one another. The inheritance relationships can be reflected in
-		queries as well. So, if you queried based on the base class, the query is polymorphic. 
+		queries as well. So, if you queried based on the base class, the query is polymorphic.
 	</para>
-	
-	<para>	
+
+	<para>
 		The tutorial example uses the single table strategy to map an inheritance relationship of <literal>org.jboss.tutorial.singleinheritance.bean.Pet</literal>,
 		which is the base class for <literal>org.jboss.tutorial.singleinheritance.bean.Cat</literal> and <literal>org.jboss.tutorial.singleinheritance.bean.Dog</literal>.
-		With the single table strategy, the entire class hierarchy is persisted in one big single table. A discriminator column is required to 
+		With the single table strategy, the entire class hierarchy is persisted in one big single table. A discriminator column is required to
 		differentiate between which class type is persisted in a particular row. This is what the annotations look like for Pet.
-		
+
 		<programlisting>
 			<![CDATA[
 @Entity
@@ -20,13 +20,13 @@
 @DiscriminatorColumn(name = "ANIMAL_TYPE", discriminatorType = DiscriminatorType.STRING)
 public class Pet implements java.io.Serializable
 {
-}			
+}
 			]]>
 		</programlisting>
-		
+
 		The <literal>@DiscriminatorColumn</literal> specifies the column that will hold the type of the persisted entity.
 		For subclasses, they must define the value of the discriminator column that will identify the class.
-		
+
 		<para>
 			Here's the Dog entity which extends Pet:
 			<programlisting>
@@ -37,13 +37,13 @@
 @DiscriminatorValue("DOG")
 public class Dog extends Pet
 {
-}				
+}
 				]]>
 			</programlisting>
-		</para>			
-		
+		</para>
+
 	</para>
-	
+
 	<sect5>
 		Polymorphic queries:
 		<para>
@@ -54,13 +54,13 @@
 {
    return manager.createQuery("from Pet p where p.weight < :weight").setParameter("weight", weight).getResultList();
 }
-				
+
 				]]>
 			</programlisting>
 		</para>
 		Even though the <listing>findByWeight</listing> method queries on Pet, either Dog or Cat instances can be returned.
 	</sect5>
-	
+
 	<sect5>
 		Table Mapping :
 		<para>
@@ -75,19 +75,19 @@
   LIVES int,
   NUMBONES int
 );
-				
+
 				]]>
 			</programlisting>
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
@@ -106,30 +106,30 @@
 run:
      [java] Sox
      [java] Junior
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 	<sect5>
 			View the tables and rows:
-	
+
 		<para>
-			You can view the tables created by JBoss by going to the 
+			You can view the tables created by JBoss by going to the
 			<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 			A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-		
+
 		</para>
 	</sect5>
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="SSL_Transport_For_EJB3">
-	
+
       <para>
 			This chapter explains how remote clients communicate with the EJB 3 container and describes how to set up alternate transport
 			types. The transport used by JBoss EJB 3 is based on JBoss Remoting, see the JBoss Remoting documentation for more in-depth examples.
       </para>
-      
+
       <sect5>
       	Default transport :
       	<para>
@@ -36,15 +36,15 @@
     <property name="serverConfiguration">
       <inject bean="ServerConfiguration" />
     </property>
-  </bean>      			
+  </bean>
       			]]>
-      		
+
       		</programlisting>
       		This parameter to the <literal>invokerLocator</literal> property:
-      		
+
       		<programlisting>
       			<![CDATA[
-<parameter>socket://${jboss.bind.address}:${port}</parameter>      			
+<parameter>socket://${jboss.bind.address}:${port}</parameter>
       			]]>
       		</programlisting>
       		tells JBoss Remoting which protocol to use, and which IP address and port to listen on. The <literal>socket://</literal> protocol means
@@ -52,12 +52,12 @@
       		<note>
       			<para>
       				The ${jboss.bind.address} corresponding to the IP that is passed during the startup of the server, by using the -b option.
-      				The <literal>0.0.0.0</literal> value means, we listen on all NIC's. 
+      				The <literal>0.0.0.0</literal> value means, we listen on all NIC's.
       			</para>
       		</note>
       		The above configuration specifies that requests coming via this socket should be handed over to the <literal>serverConfiguration</literal>
       		which is configured in the same file as follows:
-      		
+
       		<programlisting>
       			<![CDATA[
 <bean name="ServerConfiguration"
@@ -72,15 +72,15 @@
         </entry>
       </map>
     </property>
-  </bean>      			
+  </bean>
       			]]>
       		</programlisting>
       		This <literal>ServerConfiguration</literal> specifies that the request should be handled by the <literal>AOP</literal> invocation handler
       		implemented by <literal>org.jboss.aspects.remoting.AOPRemotingInvocationHandler</literal>. This is the entry point to the EJB3 container.
       	</para>
-      	
+
       </sect5>
-      
+
       <sect5>
       	Securing transport :
       	<para>
@@ -92,7 +92,7 @@
       					This tutorial already comes with the generated keystore files. You need not generate them again.
       					The following steps are just for reference.
       				</note>
-      				For SSL to work we need to create a public/private key pair, which will be stored in a keystore. 
+      				For SSL to work we need to create a public/private key pair, which will be stored in a keystore.
       				Generate this using the <literal>genkey</literal> command that comes with the JDK.
       				<programlisting>
       					<![CDATA[
@@ -113,15 +113,15 @@
   [Unknown]:
 Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
   [no]:  yes
-      					
+
       					]]>
       				</programlisting>
-      				<literal>alias</literal> is the name ("ejb3-ssl") of the key pair within the keystore. <literal>keypass</literal> 
+      				<literal>alias</literal> is the name ("ejb3-ssl") of the key pair within the keystore. <literal>keypass</literal>
       				is the password ("opensource") for the keystore, and <literal>keystore</literal> specifies the location ("localhost.keystore") of the keystore to create/add to.
       			</para>
       			<para>
-      				Since we have not signed our certificate through any certification authoritiy, we also need to create a truststore 
-      				for the client, explicitly saying that we trust the certificate we just created. The first step is to export the 
+      				Since we have not signed our certificate through any certification authoritiy, we also need to create a truststore
+      				for the client, explicitly saying that we trust the certificate we just created. The first step is to export the
       				certificate using the JDK keytool:
       				<programlisting><![CDATA[
 $ keytool -export -alias ejb3-ssl -file mycert.cer -keystore localhost.keystore
@@ -145,14 +145,14 @@
 					</programlisting>
       			</para>
       		</sect5>
-      		
-      		
+
+
       		<sect5>
       			Setting up the SSL transport :
       			<para>
-      				The simplest way to define an SSL transport is to define a new Remoting connector using the <literal>sslsocket</literal> 
-      				protocol as follows. This transport will listen on port 3843: 
-      				
+      				The simplest way to define an SSL transport is to define a new Remoting connector using the <literal>sslsocket</literal>
+      				protocol as follows. This transport will listen on port 3843:
+
       				<programlisting>
       					<![CDATA[
 <bean name="org.jboss.ejb3.ssl.RemotingConnector"
@@ -179,32 +179,32 @@
     <property name="serverConfiguration">
       <inject bean="ServerConfiguration" />
     </property>
-  </bean>      					
+  </bean>
       					]]>
       				</programlisting>
       				<note>
       					Note that we are not redefining the <literal>ServerConfiguration</literal> bean since its already been configured
       					through our default <literal>ejb3-connector-jboss-beans.xml</literal> as shown earlier.
       				</note>
-      				
+
       				Next, we need to tell JBoss Remoting where to find the keystore to be used for SSL and its password. This is done using the
          			<literal>javax.net.ssl.keyStore</literal> and <literal>javax.net.ssl.keyStorePassword</literal> system properties when starting JBoss,
          			as the following example shows:
          			<programlisting>
          				<![CDATA[
 $cd $JBOSS_HOME/bin
-$ ./run.sh -Djavax.net.ssl.keyStore=../server/default/conf/localhost.keystore -Djavax.net.ssl.keyStorePassword=opensource         				
-         				
+$ ./run.sh -Djavax.net.ssl.keyStore=../server/default/conf/localhost.keystore -Djavax.net.ssl.keyStorePassword=opensource
+
          				]]>
          			</programlisting>
       			</para>
-      			
+
       		</sect5>
-      		
+
       		<sect5>
       			Configuring the beans to use SSL transport :
       			<para>
-      				By default all the beans will use the default connector on <literal>socket://${jboss.bind.address}:3873</literal>. 
+      				By default all the beans will use the default connector on <literal>socket://${jboss.bind.address}:3873</literal>.
       				By using the <literal>@org.jboss.ejb3.annotation.RemoteBinding</literal> annotation we can have the bean invokable via SSL.
       				<programlisting>
       					<![CDATA[
@@ -212,10 +212,10 @@
 @RemoteBinding(clientBindUrl="sslsocket://0.0.0.0:3843")
 public class CalculatorBean implements Calculator
 {
-...      					
-      					
+...
+
       					]]>
-      				
+
       				</programlisting>
       				This bean will be bound to the JNDI and the proxy implementing the remote interface returned to the client will communicate
       				with the server via SSL.
@@ -229,7 +229,7 @@
 {@RemoteBinding(clientBindUrl = "sslsocket://0.0.0.0:3843", jndiBinding="CalculatorSSL"), @RemoteBinding(jndiBinding = "CalculatorNormal")})
 public class CalculatorBean implements Calculator
 {
-...      					
+...
       					]]>
       				</programlisting>
       				Now if you look up <literal>CalculatorNormal</literal> the returned proxy implementing the remote interface will communicate
@@ -237,18 +237,18 @@
       				proxy implementing the remote interface will communicate with the server via SSL.
       			</para>
       		</sect5>
-      		
+
       		<sect5>
       			Setting up the client to use the truststore :
-      			
+
       			<para>
-      				If not using a certificate signed by a certificate authorization authority, you need to point the client to the 
+      				If not using a certificate signed by a certificate authorization authority, you need to point the client to the
       				truststore using the <literal>javax.net.ssl.trustStore</literal> system property and specify the password using
       				the <literal>javax.net.ssl.trustStorePassword</literal> system property:
-      				
+
       				<programlisting>
       					<![CDATA[
-java -Djavax.net.ssl.trustStore=${JBOSS_HOME}/server/default/conf/localhost.truststore -Djavax.net.ssl.trustStorePassword=opensource org.jboss.tutorial.ssl.client.Client      					
+java -Djavax.net.ssl.trustStore=${JBOSS_HOME}/server/default/conf/localhost.truststore -Djavax.net.ssl.trustStorePassword=opensource org.jboss.tutorial.ssl.client.Client
       					]]>
       				</programlisting>
       				<note>
@@ -258,14 +258,14 @@
       		</sect5>
       	</para>
       </sect5>
-      
+
 	<sect5>
 Building and Running
 	</sect5>
-		
+
 		<note>
 			<para>
-	To build and run the example, make sure you have installed JBoss 5.x. 
+	To build and run the example, make sure you have installed JBoss 5.x.
 	See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -298,15 +298,15 @@
      [java] Invoking bean methods on a proxy through normal socket
      [java] Kabir is a student. So he can do addition
      [java] 2 + 2 = 4
-     
+
      ]]>
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
-	</programlisting>      
+$ mvn clean install -PRunSingleTutorial
+	</programlisting>
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -3,13 +3,13 @@
 	<title>Introduction to EJB3 Stateful Beans</title>
 
 	<para>
-	It is very easy to create a Stateful Bean with EJB 3.0. All bean types are homeless in EJB 3.0 so all you have to do to create a 
-	Stateful bean is to create a bean class and have it implement at least one interface. 
-	Take a look at <literal>org.jboss.tutorial.stateful.bean.ShoppingCartBean</literal> in the tutorial. 
+	It is very easy to create a Stateful Bean with EJB 3.0. All bean types are homeless in EJB 3.0 so all you have to do to create a
+	Stateful bean is to create a bean class and have it implement at least one interface.
+	Take a look at <literal>org.jboss.tutorial.stateful.bean.ShoppingCartBean</literal> in the tutorial.
 	</para>
 
 	<para>
-	The first thing to notice is that the class is tagged as <literal>@Stateful</literal>. This marks the class as a stateful bean and 
+	The first thing to notice is that the class is tagged as <literal>@Stateful</literal>. This marks the class as a stateful bean and
 	the deployer will deploy that class as a stateful bean EJB container.
 	</para>
 
@@ -21,17 +21,17 @@
 		<sect5>
 @Remove
 		</sect5>
-	Take another look at <literal>org.jboss.tutorial.stateful.bean.ShoppingCartBean</literal>. 
-	Look for the method annotated as @Remove. Instead of explicitly calling EJBObject.remove() in your applications and thus polluting it 
-	further with J2EE specific code, any method tagged with @Remove will cause the stateful bean instance to be removed from the container 
-	at the end of the method call.	
+	Take another look at <literal>org.jboss.tutorial.stateful.bean.ShoppingCartBean</literal>.
+	Look for the method annotated as @Remove. Instead of explicitly calling EJBObject.remove() in your applications and thus polluting it
+	further with J2EE specific code, any method tagged with @Remove will cause the stateful bean instance to be removed from the container
+	at the end of the method call.
 	</para>
 
 	<para>
 		<sect5>
 JNDI Bindings
 		</sect5>
-	The ShoppingCartBean will have its remote interface bound in JNDI, by default, under the ejbName/local and/or ejbName/remote for 
+	The ShoppingCartBean will have its remote interface bound in JNDI, by default, under the ejbName/local and/or ejbName/remote for
 	the local and remote interfaces, respectively.
 	</para>
 
@@ -40,8 +40,8 @@
 Client
 		</sect5>
 	Open up <literal>org.jboss.tutorial.stateful.client.Client</literal>.
-  	You'll see that it looks up the stateful bean under "ejbName/remote". Also notice that there is no Home interface and you can begin 
-  	executing on the stateful bean right away. When you access the bean in JNDI, an instance of the stateful bean will be created on the server. 
+  	You'll see that it looks up the stateful bean under "ejbName/remote". Also notice that there is no Home interface and you can begin
+  	executing on the stateful bean right away. When you access the bean in JNDI, an instance of the stateful bean will be created on the server.
   	So, when you need a different instance of the stateful bean, you do an additional jndi.lookup() to get this new reference.
 
 	</para>
@@ -50,16 +50,16 @@
 		<sect5>
 Building and Running
 		</sect5>
-		
+
 		<note>
 			<para>
-			To build and run the example, make sure you have installed JBoss 5.x. 
+			To build and run the example, make sure you have installed JBoss 5.x.
 			See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
 		<para>
 			From the command prompt, move to the "stateful" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
-		</para>	
+		</para>
 		<sect5>
 Ant Users:
 		</sect5>
@@ -73,15 +73,14 @@
 	</programlisting>
 
 	<sect5>
-Maven Users: TODO - In the current version, a single tutorials cannot be run using Maven. 
-Once the support is provided, the following command can be used
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
 
 	</para>
 </chapter>
-	
 
+

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful_deployment_descriptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful_deployment_descriptor.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateful_deployment_descriptor.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,16 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Stateful_Session_Beans_in_EJB3_with_deployment_descriptors">
 	<title>Configuring Stateful Session Beans with deployment descriptors in EJB3</title>
-		
+
 	<para>
 		Take a look at the <literal>META-INF/ejb-jar.xml</literal> and <literal>org.jboss.tutorial.stateful_deployment_descriptor.bean.ShoppingCartBean</literal>.
-		You specify a stateful bean with the "session" and "session-type" tags. Note that all bean types in EJB 3.0 are homeless, 
+		You specify a stateful bean with the "session" and "session-type" tags. Note that all bean types in EJB 3.0 are homeless,
 		so there is no requirement for a "home" or "local-home" tag. The bean class is specified with the "ejb-class" tag.
 	</para>
 	<para>
 		ShoppingCartBean also implements a business-remote interface. Take a look at <literal>org.jboss.tutorial.stateful_deployment_descriptor.bean.ShoppingCart</literal>.
 		To define this as the business-remote interface of ShoppingCartBean you need to use the "business-remote" tag in the ejb-jar.xml. Here's the <literal>META-INF/ejb-jar.xml</literal>:
-		
+
 		<programlisting>
 			<![CDATA[
 <session>
@@ -25,67 +25,67 @@
             <retain-if-exception>false</retain-if-exception>
          </remove-method>
          <transaction-type>Container</transaction-type>
-</session>			
+</session>
 			]]>
 		</programlisting>
-		
+
 		<note>
 			<para>
 				There's a very important difference between the <literal>remote</literal> and a <literal>business-remote</literal>
 				interface. The EJB2.x remote interfaces, which extend from EJBObject, are referred through the <literal>&lt;remote&gt;</literal>
-				tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style 
+				tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style
 				POJO bean is known as the business-remote interface and is represented by the <literal>@Remote</literal> and it's
 				corresponding <literal>&lt;business-remote&gt;</literal> tag in ejb-jar.xml.
-				
-				Similar is the case with <literal>&lt;local&gt;</literal> and the <literal>&lt;business-local&gt;</literal> tags in ejb-jar.xml. 
+
+				Similar is the case with <literal>&lt;local&gt;</literal> and the <literal>&lt;business-local&gt;</literal> tags in ejb-jar.xml.
 			</para>
 		</note>
-		
+
 	</para>
-	
-	<sect5>	
+
+	<sect5>
 		@Remove :
 		<para>
 			Take another look at <literal>META-INF/ejb-jar.xml</literal>. Look for the "remove-method" tag.
 			Instead of explicitly calling EJBObject.remove() in your applications and thus polluting it further with J2EE specific code,
 			any method specified in the "remove-method" tag will cause the stateful bean instance to be removed from the container
-			at the end of the method call. This deployment descriptor behavior mimics the <literal>@Remove</literal> annotation. 
-			
+			at the end of the method call. This deployment descriptor behavior mimics the <literal>@Remove</literal> annotation.
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		JNDI Bindings through deployment descriptor :
-		
+
 		<para>
 			The CalculatorBean will have its remote interface bound in JNDI. Take a look at <literal>META-INF/jboss.xml</literal>.
 			Note the <literal>jndi-name</literal> tag. This specifies the jndi binding for the remote interface of the bean.
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Client :
 		<para>
 			Open up <literal>org.jboss.tutorial.stateful_deployment_descriptor.client.Client</literal>.
-			You'll see that it looks up the stateful bean under its jndi name.  Also notice that there is no Home interface 
+			You'll see that it looks up the stateful bean under its jndi name.  Also notice that there is no Home interface
 			and you can begin executing on the stateful bean right away. When you access the bean in JNDI, an instance of the stateful
 			bean will be created on the server. So, when you need a different instance of the stateful bean, you do an additional
 			jndi lookup to get this new reference.
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "stateful_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "stateful_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -107,20 +107,20 @@
      [java] Checkout
      [java] Should throw an object not found exception by invoking on cart after @Remove method
      [java] Successfully caught no such object exception.
-          		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
-	
+	</sect5>
+
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -4,7 +4,7 @@
 
 	<para>
 It is very easy to create a Stateless Bean with EJB 3.0.  All bean types are homeless in EJB 3.0 so all you have to do to
-create a Stateless bean is to create a bean class and have it implement at least one interface. Take a look at 
+create a Stateless bean is to create a bean class and have it implement at least one interface. Take a look at
 <literal>org.jboss.tutorial.stateless.bean.CalculatorBean</literal>
 
 	</para>
@@ -22,8 +22,8 @@
 Take a look at <literal>org.jboss.tutorial.stateless.bean.CalculatorRemote</literal>.
 To define this as the remote interface of Calculator bean
 you either annotate the bean class and specify what the remote interfaces are, or you annotate each remote interface the bean class
-implements with @javax.ejb.Remote. only need to annotate the bean class with <literal>@javax.ejb.Remote</literal>.  
-Similar for <literal>org.jboss.tutorial.stateless.bean.CalculatorLocal</literal> as you need to annotate the bean 
+implements with @javax.ejb.Remote. only need to annotate the bean class with <literal>@javax.ejb.Remote</literal>.
+Similar for <literal>org.jboss.tutorial.stateless.bean.CalculatorLocal</literal> as you need to annotate the bean
 class with <literal>@javax.ejb.Local</literal> for it to be the local interface of the CalculatorBean.
 	</para>
 
@@ -31,7 +31,7 @@
 		<sect5>
 JNDI Bindings
 		</sect5>
-The Calculator bean will have two JNDI bindings for the remote and Local interface.  
+The Calculator bean will have two JNDI bindings for the remote and Local interface.
 By default, JBoss will use ejbName/local and ejbName/remote for the local and remote interfaces, respectively.
 	</para>
 
@@ -40,7 +40,7 @@
 Client
 		</sect5>
 Open up <literal>org.jboss.tutorial.stateless.client.Client</literal>.
-You'll see that it looks up the stateless bean under "ejbName/remote". Also notice that there is no Home interface and 
+You'll see that it looks up the stateless bean under "ejbName/remote". Also notice that there is no Home interface and
 you can begin executing on the stateless bean right away.
 
 	</para>
@@ -49,10 +49,10 @@
 		<sect5>
 Building and Running
 		</sect5>
-		
+
 		<note>
 			<para>
-To build and run the example, make sure you have installed JBoss 5.x. 
+To build and run the example, make sure you have installed JBoss 5.x.
 See the <xref linkend="JBossAS5">installation section</xref> for details.
 			</para>
 		</note>
@@ -72,14 +72,14 @@
 	</programlisting>
 
 	<sect5>
-Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+Maven Users: Make sure the AS is not running.
 	</sect5>
-	
+
 	<programlisting>
-$ mvn clean install
+$ mvn clean install -PRunSingleTutorial
 	</programlisting>
 
 	</para>
 </chapter>
-	
 
+

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless_deployment_descriptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless_deployment_descriptor.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/stateless_deployment_descriptor.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,10 +1,10 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Stateless_Session_Beans_in_EJB3_with_deployment_descriptors">
 	<title>Configuring Stateless Session Beans with deployment descriptors in EJB3</title>
-		
+
 	<para>
-		CalculatorBean is defined as a stateless session bean through the <literal>&lt;session&gt;</literal> and 
-		<literal>&lt;session-type&gt;</literal> elements. This marks the class as a stateless bean and the deployer will 
+		CalculatorBean is defined as a stateless session bean through the <literal>&lt;session&gt;</literal> and
+		<literal>&lt;session-type&gt;</literal> elements. This marks the class as a stateless bean and the deployer will
 		deploy that class as a stateless bean EJB container.
 	</para>
 	<para>
@@ -13,7 +13,7 @@
 		as the business-remote interface of Calculator bean you specify the interface with the <literal>&lt;remote&gt;</literal> tag.
 		Similarly for <literal>org.jboss.tutorial.stateless_deployment_descriptor.bean.CalculatorLocal</literal> you need to specify the
 		business-local interface with the <literal>&lt;local&gt;</literal> tag. Here's the <literal>META-INF/ejb-jar.xml</literal>:
-		
+
 		<programlisting>
 			<![CDATA[
 <session>
@@ -23,66 +23,66 @@
          <ejb-class>org.jboss.tutorial.stateless_deployment_descriptor.bean.CalculatorBean</ejb-class>
          <session-type>Stateless</session-type>
          <transaction-type>Container</transaction-type>
-</session>			
+</session>
 			]]>
-		</programlisting> 
-		
+		</programlisting>
+
 		<note>
 			<para>
 				There's a very important difference between the <literal>remote</literal> and a <literal>business-remote</literal>
 				interface. The EJB2.x remote interfaces, which extend from EJBObject, are referred through the <literal>&lt;remote&gt;</literal>
-				tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style 
+				tag in the ejb-jar.xml. On the other hand, the EJB3 style Plain Old Java Interface which is implemented by your EJB3 style
 				POJO bean is known as the business-remote interface and is represented by the <literal>@Remote</literal> and it's
 				corresponding <literal>&lt;business-remote&gt;</literal> tag in ejb-jar.xml.
-				
-				Similar is the case with <literal>&lt;local&gt;</literal> and the <literal>&lt;business-local&gt;</literal> tags in ejb-jar.xml. 
+
+				Similar is the case with <literal>&lt;local&gt;</literal> and the <literal>&lt;business-local&gt;</literal> tags in ejb-jar.xml.
 			</para>
 		</note>
-	
+
 	</para>
 	<sect5>
 		JNDI Bindings through deployment descriptor :
-		
+
 		<para>
 			The Calculator bean will have two JNDI bindings for the remote and Local interface. The <literal>META-INF/jboss.xml</literal>
 			through the <literal>&lt;jndi-name&gt;</literal> and the <literal>&lt;local-jndi-name&gt;</literal> specifies the jndi-name
 			for the remote and the local interfaces, respectively:
-			
+
 			<programlisting>
 				<![CDATA[
 <session>
          <ejb-name>Calculator</ejb-name>
          <jndi-name>org.jboss.tutorial.stateless_deployment_descriptor.bean.CalculatorRemote</jndi-name>
          <local-jndi-name>org.jboss.tutorial.stateless_deployment_descriptor.bean.CalculatorLocal</local-jndi-name>
-</session>				
+</session>
 				]]>
 			</programlisting>
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Client :
-		
+
 		<para>
 			Open up <literal>org.jboss.tutorial.stateless_deployment_descriptor.client.Client</literal>.
 			The client looks up the bean using the jndi-name specified in the jboss.xml. Also notice that there is no Home interface
 			and you can begin executing on the stateless bean right away.
-			
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "stateless_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "stateless_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -97,19 +97,19 @@
 run:
      [java] 1 + 1 = 2
      [java] 1 - 1 = 0
-          		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
-	
+	</sect5>
+
 </chapter>

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/tableperinheritance.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/tableperinheritance.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/tableperinheritance.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -1,27 +1,27 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <chapter id="Table_per_Class_inheritance_in_EJB3_Entities">
 	<title>Table per Class inheritance in EJB3 Entities</title>
-		
+
 	<para>
 		The EJB3 specification allows you to define entities that inherit from one another. The inheritance
-		relationships can be reflected in queries as well. So, if you queried based on the base class, the 
+		relationships can be reflected in queries as well. So, if you queried based on the base class, the
 		query is polymorphic.
 	</para>
 
 	<para>
-		This tutorial uses the table per class strategy to map an inheritance relationship of 
-		<literal>org.jboss.tutorial.tableperinheritance.bean.Pet</literal>, which is the base class for 
+		This tutorial uses the table per class strategy to map an inheritance relationship of
+		<literal>org.jboss.tutorial.tableperinheritance.bean.Pet</literal>, which is the base class for
 		<literal>org.jboss.tutorial.tableperinheritance.bean.Cat</literal> and <literal>org.jboss.tutorial.tableperinheritance.bean.Dog</literal>.
 	</para>
-	
+
 	<para>
-		With the table per class strategy there is a table per class in the hierarchy, and each table has 
+		With the table per class strategy there is a table per class in the hierarchy, and each table has
 		every single property that particular class will persist.
 	</para>
-	
-	<para>	
+
+	<para>
 		This is what the annotations look like for Pet:
-		
+
 		<programlisting>
 			<![CDATA[
 @Entity
@@ -29,23 +29,23 @@
 public class Pet implements java.io.Serializable
 {
 
-...			
+...
 			]]>
 		</programlisting>
 		The subclass annotations look like this:
-		
+
 		<programlisting>
 			<![CDATA[
 @Entity
 public class Dog extends Pet
 {
-...			
+...
 			]]>
-			
-		</programlisting>	
-	
+
+		</programlisting>
+
 	</para>
-	
+
 	<sect5>
 		Polymorphic Queries :
 		<para>
@@ -56,16 +56,16 @@
 {
    return manager.createQuery("from Pet p where p.weight < :weight").setParameter("weight", weight).getResultList();
 }
-				
+
 				]]>
 			</programlisting>
-			Even though the <literal>findByWeight</literal> method queries on Pet, either Dog or Cat instances can be returned.			
+			Even though the <literal>findByWeight</literal> method queries on Pet, either Dog or Cat instances can be returned.
 		</para>
 	</sect5>
-	
+
 	<sect5>
 		Table Mapping :
-		
+
 		<para>
 			The table mapping for this example looks like this:
 			<programlisting>
@@ -83,20 +83,20 @@
   NAME varchar,
   WEIGHT double
 );
-				
+
 				]]>
 			</programlisting>
 		</para>
 		The table per class strategy is less efficient than the single table strategy as the SQL query is more complicated.
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
@@ -120,26 +120,26 @@
 $ ant
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
-	</sect5>	
+	</sect5>
 	<sect5>
 			View the tables and rows:
-	
+
 		<para>
-			You can view the tables created by JBoss by going to the 
+			You can view the tables created by JBoss by going to the
 			<ulink url="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB">Hypersonic Service</ulink>,
-			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.  
+			scrolling down to the <literal>startDatabaseManager</literal> button and clicking it.
 			A Hypersonic SQL window will be minimized, but you can open it up to look at the tables and do queries.
-		
+
 		</para>
 	</sect5>
 </chapter>
\ No newline at end of file

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/timer.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/timer.xml	2009-03-06 11:20:11 UTC (rev 85385)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/timer.xml	2009-03-06 12:21:49 UTC (rev 85386)
@@ -5,48 +5,48 @@
 	<para>
 		This example shows you how to access <literal>javax.ejb.SessionContext</literal> as well as using
 		the EJB Timer Service.  It also explains how callbacks work in EJB 3.0.
-		
+
 	</para>
-	
+
 	<sect5>
 		SessionContext injection :
-		
+
 		<para>
 			The <literal>javax.ejb.SessionContext</literal> is injected using the <literal>@javax.annotation.Resource</literal> annotation.
 			When the stateless bean instance is created the field will be initialized with the correct SessionContext.
 			Take a look at <literal>org.jboss.tutorial.timer.bean.ExampleTimerBean</literal>
 			<programlisting>
 				<![CDATA[
-private @Resource SessionContext ctx;				
-				
+private @Resource SessionContext ctx;
+
 				]]>
-				
+
 			</programlisting>
 		</para>
-	
+
 	</sect5>
-	
+
 	<sect5>
 		Timeout Callbacks :
 		<para>
 			The rest of the bean example registers a timer with the EJB Timer service. In the EJB 2.1 specification
 			it was required to implement an interface to get ejbTimeout callbacks. In JBoss EJB3, it is implemented
 			as an annotation. All you have to define is a method annotated with <literal>javax.ejb.Timeout</literal>.
-		
+
 		</para>
 	</sect5>
-	
+
 	<sect5>
-	
+
 Building and Running
 	<para>
 			<note>
 					<para>
-						To build and run the example, make sure you have installed JBoss 5.x. 
+						To build and run the example, make sure you have installed JBoss 5.x.
 						See the <xref linkend="JBossAS5">installation section</xref> for details.
 					</para>
 			</note>
-			From the command prompt, move to the "timer" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			From the command prompt, move to the "timer" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>
 			<sect5>
 		Ant Users:
 			</sect5>
@@ -60,18 +60,18 @@
 
 run:
      [java] Timer scheduled to trigger after 5 seconds
-     		     
+
 		     ]]>
 			</programlisting>
-		
+
 			<sect5>
-		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
-			</sect5>
-			
-			<programlisting>
-$ mvn clean install
+Maven Users: Make sure the AS is not running.
+	</sect5>
+
+	<programlisting>
+$ mvn clean install -PRunSingleTutorial
 			</programlisting>
-							
+
 		</para>
 	</sect5>
 	<para>
@@ -84,9 +84,9 @@
 INFO  [STDOUT] ---------------------
 INFO  [STDOUT] * Received Timer event: Hello World
 INFO  [STDOUT] ---------------------
-			
+
 			]]>
 		</programlisting>
-	</para>	
-	
+	</para>
+
 </chapter>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list