[jboss-cvs] JBossAS SVN: r78306 - in projects/docs/enterprise: 4.2/Hibernate/Data_Query and 30 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Sep 9 22:42:03 EDT 2008


Author: irooskov at redhat.com
Date: 2008-09-09 22:42:02 -0400 (Tue, 09 Sep 2008)
New Revision: 78306

Added:
   projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.xml
   projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.ent
   projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.xml
Removed:
   projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.ent
   projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.xml
   projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Advanced_Topics.xml
Modified:
   projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Book_Info.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Colophon.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Api.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Appendix.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Architecture.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Book_Info.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Colophon.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Configuration.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Example.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Instrumentation.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Introduction.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Jbossaop.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Term.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Troubleshooting.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Architecture.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Basic_api.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Book_Info.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Cache_loaders.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Colophon.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Compatibility.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Configuration.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Eviction_policies.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Introduction.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Jboss_integration.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Mgmt_information.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Replication.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/State_transfer.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Transactions.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Treecache_marshaller.xml
   projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Book_Info.xml
   projects/docs/enterprise/4.2.5/Hibernate/Data_Access_Basics/Makefile
   projects/docs/enterprise/4.2.5/Hibernate/Data_Query/Makefile
   projects/docs/enterprise/4.2.5/Hibernate/Getting_Started/Makefile
   projects/docs/enterprise/4.2.5/Hibernate/Object_Relational_Mapping/Makefile
   projects/docs/enterprise/4.2.5/Hibernate/Tools_And_Examples/Makefile
   projects/docs/enterprise/4.2/Hibernate/Data_Access_Basics/Makefile
   projects/docs/enterprise/4.2/Hibernate/Data_Query/Makefile
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Architecture.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Batch.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Book_Info.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Configuration.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Entitymanagerapi.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Listeners.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_ejbql.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_native.xml
   projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Transactions.xml
   projects/docs/enterprise/4.2/Hibernate/Getting_Started/Makefile
   projects/docs/enterprise/4.2/Hibernate/Object_Relational_Mapping/Makefile
   projects/docs/enterprise/4.2/Hibernate/Reference_Guide/Makefile
   projects/docs/enterprise/4.2/Hibernate/Tools_And_Examples/Makefile
   projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Dependencies.xml
   projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Itext.xml
   projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Migration.xml
   projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Security.xml
   projects/docs/enterprise/4.3.2.1/readme/en-US/Release_Notes_CP02_FP01.xml
   projects/docs/enterprise/4.3.3/Hibernate/Data_Access_Basics/Makefile
   projects/docs/enterprise/4.3.3/Hibernate/Data_Query/Makefile
   projects/docs/enterprise/4.3.3/Hibernate/Getting_Started/Makefile
   projects/docs/enterprise/4.3.3/Hibernate/Object_Relational_Mapping/Makefile
   projects/docs/enterprise/4.3.3/Hibernate/Tools_And_Examples/Makefile
   projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Book_Info.xml
   projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Improving_Performance.xml
   projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/XML_Mapping.xml
   projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/Makefile
   projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Batch_Processing.xml
   projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Book_Info.xml
   projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Interceptors_And_Events.xml
   projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Transactions_And_Concurrency.xml
   projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Working_With_Objects.xml
   projects/docs/enterprise/4.3/Hibernate/Data_Query/Makefile
   projects/docs/enterprise/4.3/Hibernate/Entity_Manager_User_Guide/Makefile
   projects/docs/enterprise/4.3/Hibernate/Getting_Started/Makefile
   projects/docs/enterprise/4.3/Hibernate/Object_Relational_Mapping/Makefile
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/Makefile
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Best_Practices.xml
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Book_Info.xml
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Parent_Child.xml
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Various_Mappings.xml
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Weblog_Application.xml
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Introduction.xml
   projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Toolset_Guide.xml
Log:
updated for build system


Modified: projects/docs/enterprise/4.2/Hibernate/Data_Access_Basics/Makefile
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2/Hibernate/Data_Query/Makefile
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Data_Query/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Data_Query/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Architecture.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Architecture.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Architecture.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Architecture">
 	<title>Architecture</title>

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Batch.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Batch.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Batch.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Batch_processing">
 	<title>Batch processing</title>

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -3,11 +3,11 @@
 ]>
 
 <bookinfo id="Hibernate_EntityManager">
-	<title>Entity Manager User Guide</title>
-		<subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+	<title>Hibernate Entity Manager User Guide</title>
+		<subtitle>for Use with JBoss Enterprise Application Platform 4.2</subtitle>
 	<edition>1.0</edition>
 	<pubsnumber>1</pubsnumber>
-	<productname>Hibernate</productname>
+	<productname>JBoss Enterprise Application</productname>
 	<productnumber>4.2</productnumber>
 	<pubdate>June, 2007</pubdate>
 	<isbn>N/A</isbn>

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Configuration.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Configuration.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Configuration.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Setup_and_configuration">
 	<title>Setup and configuration</title>
@@ -15,7 +10,7 @@
 		</para>
 	</section>
 	
-	<section id="Setup_and_configuration-Configuration_and_bootstrapping" xreflabel="Configuration and bootstrapping">
+	<section id="Setup_and_configuration-Configuration_and_bootstrapping">
 		<title>Configuration and bootstrapping</title>
 		<section id="Configuration_and_bootstrapping-Packaging" revision="1">
 			<title>Packaging</title>
@@ -188,8 +183,6 @@
 			<para>
 				Apart from Hibernate system-level settings, all the properties available in Hibernate can be set in <code>properties</code> element of the persistence.xml file or as an override in the map you pass to <code>createEntityManagerFactory()</code>. Please refer to the Hibernate reference documentation for a complete listing. There are however a couple of properties available in the EJB3 provider only. 
 			</para>
-			<para>
-			</para>
 			<table id="Bootstrapping-Hibernate_Entity_Manager_specific_properties">
 				<title>Hibernate Entity Manager specific properties</title>
 				<tgroup cols="2">

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Entitymanagerapi.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Entitymanagerapi.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Entitymanagerapi.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Working_with_objects">
 	<title>Working with objects</title>
@@ -580,7 +575,7 @@
 		
 	</section>
 	
-	<section id="Working_with_objects-Transitive_persistence" revision="1" xreflabel="Transitive persistence">
+	<section id="Working_with_objects-Transitive_persistence" revision="1">
 		<title>Transitive persistence</title>
 		<para>
 			It is quite cumbersome to save, delete, or reattach individual objects, especially if you deal with a graph of associated objects. A common case is a parent/child relationship. Consider the following example: 

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Listeners.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Listeners.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Listeners.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Entity_listeners_and_Callback_methods">
 	<title>Entity listeners and Callback methods</title>

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_ejbql.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_ejbql.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_ejbql.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="EJB_QL_The_Object_Query_Language">
 	<title>EJB-QL: The Object Query Language</title>

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_native.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_native.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Query_native.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Native_query">
 	<title>Native query</title>

Modified: projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Transactions.xml
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Transactions.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Entity_Manager_User_Guide/en-US/Transactions.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Transactions_and_Concurrency" revision="1">
 	<title>Transactions and Concurrency</title>

Modified: projects/docs/enterprise/4.2/Hibernate/Getting_Started/Makefile
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Getting_Started/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Getting_Started/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2/Hibernate/Object_Relational_Mapping/Makefile
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 COMMON_CONFIG  = /usr/share/publican
 

Modified: projects/docs/enterprise/4.2/Hibernate/Reference_Guide/Makefile
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Reference_Guide/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Reference_Guide/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 BRAND		= JBoss
 #OTHER_LANGS	= kn-IN as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 #OTHER_LANGS     = de-DE es-ES fr-FR ja-JP pt-BR zh-CN

Modified: projects/docs/enterprise/4.2/Hibernate/Tools_And_Examples/Makefile
===================================================================
--- projects/docs/enterprise/4.2/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,32 +1,25 @@
 <?xml version="1.0"?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
-]>
-
 <bookinfo>
-	<title>Frequently Asked Questions</title>
-	<subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+	<title>JBoss Cache Frequently Asked Questions CP05</title>
+	<subtitle>for Use with JBoss Enterprise Application Platform 4.2 CP05</subtitle>
 	<edition>1.0</edition>
-	<pubsnumber>6</pubsnumber>
-	<productname>JBoss Cache</productname>
-	<productnumber>4.2.5</productnumber>
+	<pubsnumber>1</pubsnumber>
+	<productname>JBoss Enterprise Application Platform</productname>
+	<productnumber>4.2</productnumber>
 	<pubdate>June, 2007</pubdate>
 	<abstract>
 		<para>This book is a compilation of frequently asked questions about JBoss Cache</para>
 	</abstract>
 	<isbn>N/A</isbn>
-	<mediaobject>
-		<imageobject><imagedata fileref="Common_Content/images/rhlogo-chapter-title.png"/></imageobject>
-	</mediaobject>
-	<publisher>
-		<publishername>
-			<inlinemediaobject>
-				<imageobject><imagedata fileref="Common_Content/images/rhlogo-title.png"/></imageobject>
-			</inlinemediaobject>
-		</publishername>
-	</publisher>
+	<corpauthor>
+	  <inlinemediaobject>
+		<imageobject>
+			 <imagedata fileref="Common_Content/images/redhat-logo.svg" />
+		 </imageobject>
+	  </inlinemediaobject>
+	</corpauthor>
 	<copyright>
 		<year>&YEAR;</year>
 		<holder>&HOLDER;</holder>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Colophon.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Colophon.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Colophon.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <bibliography id="Bibliography"><title>Bibliography</title>
 <bibliodiv id="Bibliography-Authors"><title>Authors</title>

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.ent	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,3 +0,0 @@
-<!ENTITY HOLDER "Red Hat, Inc">
-<!ENTITY YEAR "2008">
-<!ENTITY VERSION "">

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/Frequently_Asked_Questions.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,2252 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-<book id="cache_faq">
-   <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-   <chapter id="general">
-
-      <title>General Information</title>
-      <qandaset>
-         <qandaentry id="a1">
-            <question>
-               <para>What is JBoss Cache?</para>
-            </question>
-
-            <answer>
-               <para>JBoss Cache is a replicated and transactional cache. It is
-                  replicated since multiple JBoss Cache instances can be distributed
-                  (either within the same JVM or across several JVMs whether they reside on
-                  the same machine or on different machines on a network) and data is
-                  replicated across the whole group. It is transactional because a
-                  user can configure a JTA compliant transaction manager and make the cache
-                  operation transactional. Note that the cache can also be run without
-                  any replication; this is the local mode.
-               </para>
-
-               <para>Currently, JBoss Cache consists of two components: a generic cache
-                  (implemented internally as
-                  <literal>org.jboss.cache.TreeCache</literal>
-                  ) and a POJO cache (implemented
-                  internally as
-                  <literal>org.jboss.cache.aop.PojoCache</literal>
-                  ).
-                  <literal>TreeCache</literal>
-                  is a tree-structured cache that provides replication and
-                  transaction context, while
-                  <literal>PojoCache</literal>
-                  extends the functionality of
-                  <literal>TreeCache</literal>
-                  but behaves as a true object cache providing transparent
-                  and finer-grained object mapping into internal cache.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a2">
-            <question>
-               <para>Who are the JBoss Cache developers?</para>
-            </question>
-
-            <answer>
-               <para>JBossCache has been developed by Bela Ban, Ben Wang, Harald
-                  Gliebe, Manik Surtani and Brian Stansberry. Manik is the lead on JBoss Cache and Ben is the lead on
-                  PojoCache.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a3">
-            <question>
-               <para>What is the license for JBoss Cache?</para>
-            </question>
-
-            <answer>
-               <para>JBoss Cache is licensed under
-                  <ulink url="http://www.gnu.org/licenses/lgpl.html">LGPL</ulink>
-                  .
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a4">
-            <question>
-               <para>Where can I download JBoss Cache?</para>
-            </question>
-
-            <answer>
-               <para>The JBoss Cache
-                  <ulink url="http://www.jboss.com/products/jbosscache/downloads">product download page</ulink>
-                  has prebuilt binaries as well as source distributions. You can also grab snapshots from the JBoss CVS
-                  repository (see
-                  <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=CVSRepository">this wiki page</ulink>
-                  ) - the module name is
-                  <emphasis role="bold">JBossCache</emphasis>
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a5">
-            <question>
-               <para>How do I build JBoss Cache from CVS sources?</para>
-            </question>
-
-            <answer>
-               <para>To build, do
-                  <literal>sh build.sh
-                     jar
-                  </literal>
-                  . This will produce
-                  <literal>jboss-cache.jar</literal>
-                  in the
-                  <literal>dist/lib</literal>
-                  directory. Or if you want to
-                  build the standalone package, do
-                  <literal>sh build.sh dist</literal>
-                  this will produce
-                  <literal>dist/jboss-cache-dist.zip</literal>
-                  Note that you will need to
-                  use JDK 5.0 to build the distribution. You can still use the binaries you build with J2SE 1.4.x
-                  though.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a6">
-            <question>
-               <para>Which JVMs are supported by JBoss Cache?</para>
-            </question>
-
-            <answer>
-               <para>JBoss Cache has been tested and supported on J2SE 1.4.x and JDK 5.0.
-                  On jboss-3.2 CVS tree, it also compiles on JDK1.3, but there is no
-                  official support for this version and using this is not recommended.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a7">
-            <question>
-               <para>From JBoss Cache 1.3.0 onwards, there is a new directory
-                  <code>lib-50</code>
-                  ,
-                  what is it?
-               </para>
-            </question>
-
-            <answer>
-               <para>From JBoss Cache 1.3.0 onwards, we support the use of Java 5 annotations, used by PojoCache.
-                  As a result, there are
-                  <code>jboss-aop-jdk50.jar</code>
-                  and
-                  <code>jboss-cache-jdk50.jar</code>
-                  that
-                  are needed to work with the Java 5 annotations. You will need to replace
-                  <code>jboss-aop.jar</code>
-                  and
-                  <code>jboss-cache.jar</code>
-                  in the lib directory with the
-                  <code>-jdk50</code>
-                  versions if you intend
-                  to use PojoCache, Java 5 and annotations.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a8">
-            <question>
-               <para>How do I know the version of JBoss Cache that I am using?</para>
-            </question>
-
-            <answer>
-               <para>Since release 1.2, you can check the jar version by running:
-                  <code>java -jar jboss-cache.jar org.jboss.cache.Version</code>
-                  .
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a9">
-            <question>
-               <para>Can I run JBoss Cache outside of JBoss Application
-                  Server?
-               </para>
-            </question>
-
-            <answer>
-               <para>Of course! JBoss Cache comes in two flavors:</para>
-
-               <itemizedlist>
-                  <listitem>
-                     <para>Integrated with JBoss Application Server as an MBean service.</para>
-                  </listitem>
-
-                  <listitem>
-                     <para>Standalone, that can run in any Java EE server such
-                        as BEA WebLogic or IBM Websphere. Of course, it can also run in
-                        a standalone Java process (i.e., outside Java EE context).
-                     </para>
-                  </listitem>
-               </itemizedlist>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a101">
-            <question>
-               <para>Where can I report bugs or problems?</para>
-            </question>
-
-            <answer>
-               <para>Please report any bugs or problems to
-                  <ulink
-                          url="http://www.jboss.org/index.html?module=bb&amp;op=viewforum&amp;f=157">JBoss Cache
-                     User Forum
-                  </ulink>
-                  .
-               </para>
-            </answer>
-         </qandaentry>
-      </qandaset>
-   </chapter>
-   <chapter id="tree_cache">
-      <title>JBoss Cache - Tree Cache</title>
-      <qandaset>
-         <qandaentry id="a10">
-            <question>
-               <para>How do I deploy JBoss Cache as a MBean service?</para>
-            </question>
-
-            <answer>
-               <para>To deploy JBoss Cache as an MBean inside JBoss, you can copy the
-                  configuration xml file over to the
-                  <literal>deploy</literal>
-                  directory (from
-                  <literal>all</literal>
-                  configuration whereby the
-                  necessary jars are present). Under the standalone package
-                  <literal>etc/META-INF</literal>
-                  directory , there are example
-                  configuration files for different cache modes that can be used to
-                  deploy JBoss Cache as well.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a11">
-            <question>
-               <para>How do I know if my JBoss Cache MBean has been deployed?</para>
-            </question>
-
-            <answer>
-               <para>To verify that your JBoss Cache MBean is deployed correctly,
-                  you can first check the log output under the command console. Next
-                  you can verify it from JBoss JMX console. Look for
-                  <literal>jboss.cache</literal>
-                  domain.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a12">
-            <question>
-               <para>How do I access the JBoss Cache MBean?</para>
-            </question>
-
-            <answer>
-               <para>Accessing the JBoss Cache MBean is just like accessing any
-                  JBoss MBean. Here is a code snippet:
-               </para>
-
-	<programlisting>
-		import org.jboss.mx.util.MBeanServerLocator;
-		import org.jboss.mx.util.MBeanProxyExt;
-		import org.jboss.cache.TreeCacheMBean;
-		import javax.management.MBeanServer;
-		...
-	
-		MBeanServer server;
-		TreeCacheMBean cache;
-	
-		public init() throws Exception
-		{
-		try
-		{
-		server = MBeanServerLocator.locateJBoss();
-		cache = (TreeCacheMBean) MBeanProxyExt.create(TreeCacheMBean.class,
-		"jboss.cache:service=TreeCache",
-		server);
-		}
-		catch (Exception ex)
-		{
-		// handle exception
-		}
-		}
-	
-		public void myBusinessMethod()
-		{
-		Object value = cache.get("/my/node", "myKey");
-	
-		HashMap stuff = new HashMap();
-		stuff.put("key1", "value1");
-		stuff.put("key2", "value2");
-		stuff.put("key3", "value3");
-	
-		cache.put("/my/new/node", stuff);
-	
-		cache.remove("/my/node");
-	
-		...
-		}
-	
-	</programlisting>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a13">
-            <question>
-               <para>Can I run JBoss Cache on JBoss AS 3.2.x releases?</para>
-            </question>
-
-            <answer>
-               <para>Yes. The JBoss Cache source code is also up to date on the
-                  jboss-3.2 CVS branch. However, only TreeCache is supported there
-                  since JBossAop (which PojoCache relies on) is only available in JBoss AS 4.x onwards.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a14">
-            <question>
-               <para>Can I run multiple JBoss Cache instances on the same VM?</para>
-            </question>
-
-            <answer>
-               <para>Yes. There are some scenarios where you may want to run
-                  multiple instances of JBoss Cache. For example, you want to run
-                  multiple local cache instances with each instance having its own
-                  configuration (e.g., different cache policy). In this case, you will
-                  need multiple xml configuration files.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a15">
-            <question>
-               <para>Can TreeCache run as a second level cache inside
-                  Hibernate?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. Since Hibernate 3.0 release, you can configure it to use
-                  JBoss Cache (namely, TreeCache) as a second level cache. For details,
-                  see Hibernate documentation, and also see
-                  <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheHibernate">
-                     http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheHibernate
-                  </ulink>
-               </para>
-
-               <para>Note that since Hibernate 3.0.2 and JBossCache 1.2.2, we have
-                  fixed a critical bug that depending on the usage pattern can cause
-                  deadlock during query caching.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a16">
-            <question>
-               <para>What about using PojoCache as a Hibernate cache?</para>
-            </question>
-
-            <answer>
-               <para>It is not necessary to use PojoCache for second level
-                  cache inside Hibernate because Hibernate
-                  manages fine-grained fields in Java objects. So using PojoCache won't
-                  provide any advantage.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a17">
-            <question>
-               <para>How can I configure JBoss Cache?</para>
-            </question>
-
-            <answer>
-               <para>You can configure the JBoss Cache through a configuration xml
-                  file. Or you can set it programmatically through its get/set methods.
-                  Check with the documentation for both examples.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a18">
-            <question>
-               <para>In the configuration xml file, there are tags such as
-                  <literal>class</literal>
-                  ,
-                  <literal>MBean</literal>
-                  , etc. What are
-                  these?
-               </para>
-            </question>
-
-            <answer>
-               <para>These are tags for deploying JBoss Cache as a JBoss MBean
-                  service. For consistency, we have kept them in the
-                  standalone package as well, specifically, the
-                  <literal>MBean</literal>
-                  tag. If you run in standalone mode,
-                  JBoss Cache will ignore these elements.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a19">
-            <question>
-               <para>What is the difference between the different cache
-                  modes?
-               </para>
-            </question>
-
-            <answer>
-               <para>JBossCache has five different cache modes, i.e.,
-                  <literal>LOCAL</literal>
-                  ,
-                  <literal>REPL_SYNC</literal>
-                  ,
-                  <literal>REPL_ASYNC</literal>
-                  ,
-                  <literal>INVALIDATION_SYNC</literal>
-                  and
-                  <literal>INVALIDATION_ASYNC</literal>
-                  . If you want to run JBoss Cache as a
-                  single instance, then you should set the cache mode to
-                  <literal>LOCAL</literal>
-                  so that it won't attempt to replicate anything.
-                  If you want to have synchronous replication among different
-                  JBoss Cache instances, you set it to
-                  <literal>REPL_SYNC</literal>
-                  .
-                  For asynchronous replication, use
-                  <literal>AYSNC_REPL</literal>
-                  . If you do not wish to replicate cached data but simply inform other caches in a cluster that data
-                  under
-                  specific addresses are now stale and should be evicted from memory, use
-                  <literal>INVALIDATION_SYNC</literal>
-                  or
-                  <literal>INVALIDTAION_ASYNC</literal>
-                  . Synchronous and asynchronous behavior applies to invalidation as well as replication.
-               </para>
-
-               <para>Note that
-                  <literal>ASYNC_REPL</literal>
-                  and
-                  <literal>INVALIDATION_ASYNC</literal>
-                  are non-blocking. This
-                  can be useful when you want to have another JBoss Cache serving as a
-                  mirror or backup and you don't want to wait for confirmation that this mirror has received your
-                  messages.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a20">
-            <question>
-               <para>How does JBoss Cache's replication mechanism work?</para>
-            </question>
-
-            <answer>
-               <para>JBoss Cache leverages
-                  <ulink url="http://www.jgroups.org">JGroups</ulink>
-                  as a replication layer. A user
-                  can configure the cluster of JBoss Cache instances by sharing the
-                  same cluster name (
-                  <literal>cluster name</literal>
-                  ). There is also
-                  an option of whether to populate the cache data upon starting a new
-                  instance in the
-                  <literal>ClusterConfig</literal>
-                  attribute.
-               </para>
-
-               <para>Note that once all instances join the same replication group,
-                  every replication change is propagated to all participating members.
-                  There is no mechanism for sub-partitioning where some replication
-                  can be done within only a subset of members. This is on our to do
-                  list.
-               </para>
-            </answer>
-         </qandaentry>
-
-	<qandaentry id="a21">
-            <question>
-               <para>I run a 2 node cluster. If the network dies, do the caches continue to run?</para>
-            </question>
-
-            <answer>
-               <para>Yes, both will continue to run, but depending on your replication mode, all transactions or
-                  operations may not complete. If
-                  <literal>REPL_SYNC</literal>
-                  is used, operations will fail while if
-                  <literal>REPL_ASYNC</literal>
-                  is used they will succeed. Even if they succeed though, caches will be out of sync.
-               </para>
-            </answer>
-         </qandaentry>
-
-
-         <qandaentry id="a22">
-            <question>
-               <para>Can I plug in library X instead of JGroups to handle remote calls and group communications?</para>
-            </question>
-
-            <answer>
-               <para>At this stage (JBoss Cache 1.x) the answer is no. We do have an abstraction layer between the
-                  communication suite and JBoss Cache in the pipelines, and this may appear as a feature at some stage
-                  in
-                  the future.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a23">
-            <question>
-               <para>Does the cache need to replicate to every other instance in the cluster? Isn't this slow if the
-                  cluster is large?
-               </para>
-            </question>
-
-            <answer>
-               <para>As of JBoss Cache 1.4.0, replication need not occur to every node in the cluster. This feature -
-                  called Buddy Replication -
-                  allows each node to pick one or more 'buddies' in the cluster and only replicate to its buddies. This
-                  allows a cluster to scale
-                  very easily with no extra impact on memory or network traffic with each node added.
-               </para>
-               <para>
-                  See the User Guide for more information on Buddy Replication, and how it can be used to achieve very
-                  high
-                  scalability.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a24">
-            <question>
-               <para>If I have the need for different TreeCache properties (e.g.,
-                  <literal>CacheMode</literal>
-                  and
-                  <literal>IsolationLevel</literal>
-                  ), do I simply need to create multiple
-                  TreeCache instances with the appropriate configuration?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. All the above mentioned properties are per cache
-                  instance. Therefore you will need a separate JBoss Cache
-                  instance.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a25">
-            <question>
-               <para>Does the Tree Cache config
-                  <literal>ClusterName</literal>
-                  have
-                  any relation to the JBoss AS cluster
-                  <literal>PartitionName</literal>
-                  ?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. They are both JGroups group names. Besides the notion of
-                  a channel in JGroups, it also can partition the channel into different
-                  group names.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a26">
-            <question>
-               <para>When using multiple JGroups based components
-                  [cluster-service.xml, treecache (multiple instances)], what is the
-                  correct/valid way to configure those components to make sure my
-                  multicast addresses don't conflict?
-               </para>
-            </question>
-
-            <answer>
-               <para>There are two parameters to consider: multicast address (plus
-                  port) and the group name. At minimum, you will have to run
-                  components using a different group name. But whether to run them on
-                  the same channel depends upon whether the communication performance
-                  is critical for you or not. If it is, then it'd be best to run them
-                  on different channels.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a27">
-            <question>
-               <para>Does JBoss Cache currently support cache persistence
-                  storage?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. Starting with release 1.1, JBoss Cache has a CacheLoader
-                  interface that supports cache persistence. See below.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a28">
-            <question>
-               <para>Does JBoss Cache currently support cache passivation/ overflow
-                  to a data store?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. Starting with release 1.2.4, JBoss Cache uses the
-                  CacheLoader to support cache passivation/ overflow. See
-                  documentation on how to configure and use this feature.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a29">
-            <question>
-               <para>Is JBoss Cache thread safe?</para>
-            </question>
-
-            <answer>
-               <para>Yes, it is thread safe.</para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a30">
-            <question>
-               <para>Does JBoss Cache support XA (2PC) transactions now?</para>
-            </question>
-
-            <answer>
-               <para>No, although it is also on our to do list. Our internal
-                  implementation does use a similar 2PC procedure to coordinate a
-                  transaction among different instances.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a31">
-            <question>
-               <para>Which TransactionManagers are supported by
-                  JBoss Cache?
-               </para>
-            </question>
-
-            <answer>
-               <para>JBoss Cache supports any TransactionManager that is JTA
-                  compliant such as JBossTM. A user can configure the transaction
-                  manager through the configuration xml setting. JBossCache also has a
-                  built in dummy transaction manager
-                  (
-                  <literal>org.jboss.cache.tm.DummyTransactionManager</literal>
-                  ) for
-                  testing purposes only. But note that
-                  <literal>DummyTransactionManager</literal>
-                  is not thread safe .i.e.,
-                  it does not support concurrent transactions. Instead, only one
-                  transaction is allowed at a time.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a32">
-            <question>
-               <para>How do I set up the cache to be transactional?</para>
-            </question>
-
-            <answer>
-               <para>You either use the default (JBoss) TransactionManager to run
-                  JBossCache inside JBoss, or you have to implement the
-                  <literal>TransactionManagerLookup</literal>
-                  interface, and return an
-                  instance of your javax.transaction.TransactionManager. The
-                  configuration property
-                  <literal>TransactionManagerLookupClass</literal>
-                  defines the class
-                  to be used by the cache to fetch a reference to a
-                  TransactionManager. It is trivial to implement this class to support
-                  other TransactionManagers. Once this attribute is specified, the
-                  cache will look up the transaction context from this transaction
-                  manager.
-               </para>
-
-               <para>For the client code, here is a snippet to start and commit a
-                  transaction:
-               </para>
-
-		<programlisting>tx = (UserTransaction)new InitialContext(prop).lookup("UserTransaction");
-	tree = new TreeCache();
-	config = new PropertyConfigurator();
-	config.configure(tree, "META-INF/replSync-service.xml");
-
-	tx.begin()
-	tree.put(fqn, key, value);
-	tx.commit();
-               </programlisting>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a33">
-            <question>
-               <para>How do I control the cache locking level?</para>
-            </question>
-
-            <answer>
-               <para>JBossCache lets you control the cache locking level through
-                  the transaction isolation level. This is configured through the
-                  attribute
-                  <literal>IsolationLevel</literal>
-                  . Currently, JBossCache
-                  employs pessimistic locking internally. And the transaction
-                  isolation level from the pessimist locking corresponds to JDBC
-                  isolation levels, namely,
-                  <literal>NONE</literal>
-                  ,
-                  <literal>READ_UNCOMMITTED</literal>
-                  ,
-                  <literal>READ_COMMITTED</literal>
-                  ,
-                  <literal>REPEATABLE_READ</literal>
-                  , and
-                  <literal>SERIALIZABLE</literal>
-                  . Note that these isolation levels are ignored if optimistic locking is used. For details, please
-                  refer
-                  to the
-                  user manual.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a34">
-            <question>
-               <para>How does JBoss Cache lock data for concurrent access?</para>
-            </question>
-
-            <answer>
-               <para>By default JBoss Cache uses pessimistic locking to lock data nodes, based on the isolation level
-                  configured. Since JBoss Cache 1.3.0, we also offer optimistic locking to allow for greater concurrency
-                  at
-                  the cost of slight processing overhead and performance. See the documentation for a more detailed
-                  discussion on concurrency and locking in JBoss Cache.
-               </para>
-            </answer>
-         </qandaentry>
-
-
-         <qandaentry id="a35">
-            <question>
-               <para>How do I enable Optimistic Locking in JBoss Cache?</para>
-            </question>
-
-            <answer>
-               <para>Use the XMl attribute
-                  <code>NodeLockingScheme</code>
-                  . Note that
-                  <code>IsolationLevel</code>
-                  is ignored if
-                  <code>NodeLockingScheme</code>
-                  is set to
-                  <code>OPTIMISTIC</code>
-                  . Also note that
-                  <code>NodeLockingScheme</code>
-                  defaults to
-                  <code>PESSIMISTIC</code>
-                  if omitted.
-               </para>
-            </answer>
-         </qandaentry>
-
-
-         <qandaentry id="a36">
-            <question>
-               <para>How does the write lock apply to an Fqn node, say,
-                  "/org/jboss/test"?
-               </para>
-            </question>
-
-            <answer>
-               <para>First of all, JBossCache has a notion of
-                  <literal>root</literal>
-                  that serves as a starting point for every navigational operation.
-                  The default is "/" (since the default separator is "/" for the fqn).
-                  The locking then is applied to the node under root, for example
-                  "/org" (no locking "/").
-               </para>
-
-               <para>Furthermore, let's say when JBossCache needs to apply a write
-                  lock on node "/org/jboss/test", it will first try to obtain read
-                  lock from the parent nodes recursively (in this example, "/org", and
-                  "/org/jboss"). Only when it succeeds then it will try to obtain a
-                  write lock on "/org/jboss/test".
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a37">
-            <question>
-               <para>Can I use the cache locking level even without a transaction
-                  context?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. JBossCache controls the individual node locking behavior
-                  through the isolation level semantics. This means even if you don't
-                  use a transaction, you can specify the lock level via isolation
-                  level. You can think of the node locking behavior outside of a
-                  transaction as if it is under transaction with
-                  <literal>auto_commit</literal>
-                  on.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a38">
-            <question>
-               <para>With replication (REPL_SYNC/REPL_ASYNC) or invalidation (INVALIDATION_SYNC/INVALIDATION_ASYNC), how
-                  often does the cache broadcast messages over the network?
-               </para>
-            </question>
-
-            <answer>
-               <para>If the updates are under transaction, then the broadcasts
-                  happen only when the transaction is about to commit (actually
-                  during the prepare stage internally). That is, it will be a batch
-                  update. However, if the operations are not under transaction
-                  context, then each update will trigger replication. Note that this
-                  has performance implication if network transport is heavy (it
-                  usually is).
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a39">
-            <question>
-               <para>How can I do a mass removal?</para>
-            </question>
-
-            <answer>
-               <para>If you do a cache.remove("/root"), it will recursively remove
-                  all the entries under "/root".
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a40">
-            <question>
-               <para>Can I monitor and manage the JBoss Cache?</para>
-            </question>
-
-            <answer>
-               <para>With JBoss Cache 1.3.0, you can if you are running JBoss Cache within JBoss AS or are using JDK
-                  5.0's
-                  <literal>jconsole</literal>
-                  utility. See the chapter titled
-                  <emphasis role="bold">Management Information</emphasis>
-                  in the JBoss Cache user guide for more details.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a41">
-            <question>
-               <para>Can I disable JBoss Cache management attributes in JBoss Cache 1.3.0?</para>
-            </question>
-
-            <answer>
-               <para>Yes, you can. Set the
-                  <literal>UseInterceptorMbeans</literal>
-                  configuration attribute to
-                  <literal>false</literal>
-                  (this defaults to
-                  <literal>true</literal>
-                  ). See the chapter titled
-                  <emphasis role="bold">Management Information</emphasis>
-                  in the JBoss Cache user guide for more details.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a42">
-            <question>
-               <para>What is jboss-serialization.jar, introduced in JBoss Cache 1.4.x and do I need this?</para>
-            </question>
-            <answer>
-               <para>jboss-serialization.jar is the
-                  <ulink url="http://labs.jboss.org/portal/index.html?ctrl:id=page.default.info&amp;project=serialization">
-                     JBoss Serialization
-                  </ulink>
-                  library, which is much more efficient in terms
-                  of speed and CPU usage as well as the generated byte stream size than standard Java serialization.
-                  This
-                  very
-                  significantly improves replication performance of custom objects placed in the cache.
-               </para>
-               <para>
-                  From 1.4.x, JBoss Cache relies on this library and it is needed to run JBoss Cache.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a43">
-            <question>
-               <para>Can I disable JBoss Serialization and revert back to standard Java serialization?</para>
-            </question>
-
-            <answer>
-               <para>Yes you can, by passing in the
-                  <literal>-Dserialization.jboss=false</literal>
-                  environment variable to your JVM.
-               </para>
-            </answer>
-         </qandaentry>
-
-
-         <qandaentry id="a44">
-            <question>
-               <para>Does JBoss Cache support partitioning?</para>
-            </question>
-
-            <answer>
-               <para>Not right now. JBoss Cache does not support partitioning that a
-                  user can configure to have different set of data residing on
-                  different cache instances while still participating as a replication
-                  group.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a45">
-            <question>
-               <para>Does JBoss Cache handle the concept of application classloading
-                  inside, say, a J2EE container?
-               </para>
-            </question>
-
-            <answer>
-               <para>Application-specific classloading is used widely inside a J2EE
-                  container. For example, a web application may require a new
-                  classloader to scope a specific version of the user library.
-                  However, by default JBoss Cache is agnostic to the classloader. In
-                  general, this leads to two kinds of problems:
-               </para>
-
-               <itemizedlist>
-                  <listitem>
-                     <para>Object instance is stored in cache1 and replicated to
-                        cache2. As a result, the instance in cache2 is created by the
-                        system classloader. The replication may fail if the system
-                        classloader on cache2 does not have access to the required
-                        class. Even if replication doesn't fail, a user thread in cache2
-                        may not be able to access the object if the user thread is
-                        expecting a type defined by the application classloader.
-                     </para>
-                  </listitem>
-
-                  <listitem>
-                     <para>Object instance is created by thread 1 and will be
-                        accessed by thread 2 (with two different classloaders).
-                        JBossCache has no notion of the different classloaders involved.
-                        As a result, you will have a
-                        <literal>ClassCastException</literal>
-                        . This is a standard
-                        problem in passing an object from one application space to
-                        another; JBossCache just adds a level of indirection in passing
-                        the object.
-                     </para>
-                  </listitem>
-               </itemizedlist>
-
-               <para>To solve the first kind of issue, in JBoss Cache 1.2.4 we
-                  introduced the concept of a
-                  <literal>TreeCacheMarshaller</literal>
-                  . This allows the code within the application to create a classloader for use with a portion of the cache tree that will handle objects replicated to that portion. See the TreeCacheMarshaller section of
-                  the user guide for more details.
-               </para>
-
-               <para>To solve the second kind of issue, the only solution (that we
-                  know of) is to cache "serialized" byte code and only de-serialize it
-                  during every object get (and this will be expensive!). That is,
-                  during a put operation, the object instance will be serialized and
-                  therefore can be deserialized safely by a "foreign" classloader.
-                  However, the performance penalty of this approach is quite severe so
-                  in general another local in-vm version will need to be used as a
-                  "near-line" cache. Note also that each time the serialized bytes are
-                  deserialized, a new instance of the object is created.
-               </para>
-
-               <para>To help with this kind of handling, JBoss has a utility class
-                  called
-                  <literal>MarshalledValue</literal>
-                  that wraps around the
-                  serialized object. Here is a code snippet that illustrates how you
-                  can create a wrapper around JBossCache to handle the classloader
-                  issue:
-               </para>
-
-               <programlisting>import org.jboss.invocation.MarshalledValue;
-
-	public class CacheService {
-	private TreeCache cache_;
-
-	public object get(Fqn fqn, String key) {
-	return getUnMarshalledValue(cache_.get(fqn, key));
-	}
-
-	public object set(Fqn fqn, String key, Object value) {
-	cache_.put(fqn, key, getMarshalledValue(value));
-	return value; // only if successful
-	}
-
-	...
-
-	private Object getUnMarshalledValue(object value) {
-	// assuming we use the calling thread context classloader
-	return ((MarshalledValue)value).get();
-	}
-
-	private Object getMarshalledValue(Object value) {
-	return new MarshalledValue(value);
-	}
-	}
-
-               </programlisting>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a46">
-            <question>
-               <para>Does JBoss Cache currently support pre-event and post-event
-                  notification?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. Starting with release 1.2.4, JBoss Cache has introduced
-                  ExtendedTreeCacheListener which takes in consideration pre and post
-                  event notification. See documentation for more details. Note that
-                  TreeCacheListener and ExtendedTreeCacheListener will be merged into
-                  TreeCacheListener in release 1.3.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a47">
-            <question>
-               <para>How do I implement a custom listener to listen to
-                  <literal>TreeCache</literal>
-                  events?
-               </para>
-            </question>
-
-            <answer>
-               <para>You create a class (myListener) that extends
-                  AbstractTreeCacheListener and provide concrete implementation for
-                  the node events that you are interested in. Then you add this
-                  listener to the TreeCache instance on startup to listen to the
-                  events as they occur by calling
-                  TreeCache.addTreeCacheListener(myListener).
-               </para>
-
-               <programlisting>
-	public class MyListener extends AbstractTreeCacheListener
-	{
-	...
-
-	public void nodeModify(Fqn fqn, boolean pre, boolean isLocal) {
-	if(log.isTraceEnabled()){
-	if(pre)
-	log.trace("Event DataNode about to be modified: " + fqn);
-	else
-	log.trace("Event DataNode modified: " + fqn);
-	}
-	}
-
-	...
-	}
-               </programlisting>
-            </answer>
-         </qandaentry>
-
-         <qandaentry id="a48">
-            <question>
-               <para>Can I use <literal>useRegionBasedMarshalling</literal> attribute in JBoss Cache in order to get
-                  around ClassCastExceptions happening when accessing data in the cache that has just been redeployed?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes, you can. Originally, <literal>TreeCache</literal> Marshalling was designed as a
-                  workaround for those replicated caches that upon state transfer did not have access to the
-                  classloaders defining the objects in the cache.
-               </para>
-
-               <para>On each deployment, JBoss creates a new classloader per the top level deployment artifact, for
-                  example an EAR. You also have to bear in mind that a class in an application server is defined not
-                  only by the class name but also its classloader. So, assuming that the cache is not deployed as part
-                  of your deployment, you could deploy an application and put instances of classes belonging to this
-                  deployment inside the cache. If you did a redeployment and try to do a get operation of the data
-                  previously put, this would result on a ClassCastException. This is because even though the class names
-                  are the same, the class definitions are not. The current classloader is different to the one when
-                  the classes were originally put.
-               </para>
-
-               <para>By enabling marshalling, you can control the lifecycle of the data in the cache and if on
-                  undeployment, you inactivate the region and unregister the classloader that you'd have registered on
-                  deployment, you'd evict the data in the cache locally. That means that in the next deployment, the
-                  data won't be in the cache, therefore avoiding the problem. Obviously, using marshalling to get
-                  around this problem is only recommended when you have some kind of persistence backing where the data
-                  survives, for example using CacheLoaders, or when JBossCache is used as a second level cache in a
-                  persistence framework.  
-               </para>
-
-               <para>To implement this feature, please follow the instructions indicated in the example located
-                  in the TreeCacheMarshaller section of the user's guide. It's worth noting that instead of a
-                  <literal>ServletContextListener</literal>, you could add this code into an <literal>MBean</literal>
-                  that contained lifecycle methods, such as <literal>start()</literal> and <literal>stop()</literal>.
-                  The key would be for this MBean to depend on the target cache, so that it can operate as long as the
-                  cache is up and running.
-               </para>
-            </answer>
-         </qandaentry>
-
-      </qandaset>
-   </chapter>
-   <chapter
-           id="PojoCache">
-      <title>JBoss Cache - Pojo Cache</title>
-      <qandaset>
-
-
-         <qandaentry>
-            <question>
-               <para>What is PojoCache?</para>
-            </question>
-
-            <answer>
-               <para>PojoCache (currently implemented PojoCache as a sub-class of
-                  TreeCache) is a fine-grained field-level replicated and
-                  transactional POJO (plain old Java object) cache. By POJO, we mean
-                  that the cache: 1) automatically manages object mapping and
-                  relationship for a client under both local and replicated cache
-		  mode, 2) provides support for inheritance between POJOs created under Aspect-Oriented Programming (AOP). This allows a user to modify code at runtime without inflicting this change permanently on the program. By leveraging the dynamic AOP in JBossAop, it is
-                  able to map a complex object into the cache store, preserve and
-                  manage the object relationship behind the scene. During replication
-                  mode, it performs fine-granularity (i.e., on a per-field basis)
-                  update, and thus has the potential to boost cache performance and
-                  minimize network traffic.
-               </para>
-
-               <para>From a user perspective, once your POJO is managed by the
-                  cache, all cache operations are transparent. Therefore, all the
-                  usual in-VM POJO method semantics are still preserved, providing
-                  ease of use. For example, if a POJO has been put in PojoCache (by
-                  calling putObject, for example), then any get/set method will be
-                  intercepted by PojoCache to provide the data from the
-                  cache.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What's the relationship between PojoCache and TreeCacheAop classes?</para>
-            </question>
-
-            <answer>
-               <para>Since release 1.4, we have created a new class called PojoCache (to better reflect the
-                  cache nature). The old implementation TreeCacheAop has been deprecated.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Does PojoCache have all the functional capabilities of
-                  TreeCache?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. PojoCache extends TreeCache so it has all the same
-                  features TreeCache such as cache mode, transaction isolation level,
-                  and eviction policy.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What is the difference between TreeCache and
-                  PojoCache?
-               </para>
-            </question>
-
-            <answer>
-               <para>Think of PojoCache as a TreeCache on steroids. :-)
-                  Seriously, both are cache stores-- one is a generic cache and the other other one POJO Cache.
-                  However, while TreeCache only
-                  provides pure object reference storage (e.g.,
-                  <literal>put(FQN fqn,
-                     Object key, Object value)
-                  </literal>
-                  ), PojoCache goes beyond that
-                  and performs fine-grained field level replication object mapping and
-                  relationship management for a user behind the scenes. As a result,
-                  if you have complex object systems that you would like to cache, you
-                  can have PojoCache manage it for you. You simply treat your
-                  object systems as they are residing in-memory, e.g., use your
-                  regular POJO methods without worrying about cache management.
-                  Furthermore, this is true in replication mode as well.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What are the steps to use the PojoCache feature?</para>
-            </question>
-
-            <answer>
-               <para>Starting from release 1.3, depends on the JDK you use, it has slightly different steps. But in
-                  general,
-                  in order to use PojoCache, you will need to:
-               </para>
-
-               <itemizedlist>
-                  <listitem>
-                     <para>prepare POJO. You can do either via xml declaration or annotation. For annotation, you can
-                        use either the JDK1.4 style or JDK50 one (of which is part of JVM spec). If you use JDK14, you
-                        will
-                        also need
-                        a annotation pre-compiler (annoc) to pre-process it.
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>instrumentation. You will need to instrument your POJO either at compile-time or load-time.
-                        If you do it during compile-time, you use so-called aop pre-compiler (aopc) to do bytecode
-                        manipulation.
-                        If you do it via load-time, however, you need either a special system class loader or, in JDK50,
-                        you can
-                        use the javaagent option.
-                     </para>
-                  </listitem>
-               </itemizedlist>
-               <para>So if you use JDK50, for example, with annotation and load-time instrumentation, then you won't
-                  need
-                  any pre-processing step to use PojoCache. For a full example, please refer to the distro examples
-                  directory.
-                  There are numerous PojoCache examples that uses different options.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can I run PojoCache in JBoss AS 3.2.x application
-                  server?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes and no. Yes, since JBossAop can also be back-ported to
-                  3.2.x (see JBossAop wiki for details). However, it will take some
-                  effort. Therefore, the recommended JBoss version is 4.x to run
-                  PojoCache.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can PojoCache run as a MBean as well?</para>
-            </question>
-
-            <answer>
-               <para>Yes. It is almost the same as TreeCache MBean. The only
-                  difference is the object name and the class name. E.g., instead
-                  of
-                  <programlisting>&lt;mbean code="org.jboss.cache.TreeCache"
-                     name="jboss.cache:service=TreeCache"&gt;</programlisting>
-                  you will have:
-                  <programlisting>&lt;mbean code="org.jboss.cache.aop.PojoCache"
-                     name="jboss.cache:service=PojoCache"&gt;</programlisting>
-                  in the xml configuration file.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can I pre-compile the aop classes such that I don't need to
-                  use the system classloader and jboss-aop configuration xml?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. The latest versions of JBossCache have a pre-compiler
-                  option called
-                  <literal>aopc</literal>
-                  . You can use this option to
-                  pre-compile your AOP created POJO. Once the classes have been byte
-                  code generated, they can be treated as regular class files, i.e.,
-                  you will not need to include any
-                  <literal>jboss-aop.xml</literal>
-                  that specifies the advisable POJO and to specify the JBossAop system
-                  class loader.
-               </para>
-
-               <para>For an example of how to use
-                  <literal>aopc</literal>
-                  , please
-                  see 1)
-                  <literal>tools</literal>
-                  directory for PojoCacheTasks14.xml
-                  and PojoCacheTasks50.xml. Both contain Ant tasks that you can
-                  import to your regular project for
-                  <literal>annoc</literal>
-                  and
-                  <literal>aopc</literal>
-                  . In addition, please also check out the
-                  <literal>examples</literal>
-                  directory for concrete examples.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>How do I use aopc on multiple module directories?</para>
-            </question>
-
-            <answer>
-               <para>In aopc, you specify the src path for a specific directory. To
-                  pre-compile multiple ones, you will need to invoke aopc multiple
-                  times.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What's in the
-                  <literal>jboss-aop.xml</literal>
-                  configuration?
-               </para>
-            </question>
-
-            <answer>
-               <para>
-                  <literal>jboss-aop.xml</literal>
-                  is needed for POJO
-                  instrumentation. In
-                  <literal>jboss-aop.xml</literal>
-                  , you can
-                  declare your POJO (e.g.,
-                  <literal>Person</literal>
-                  ) to be
-                  "prepared", a JBossAop term to denote that the object will be
-                  created using AOP, by the system. After this declaration, JBossAop will
-                  invoke any interceptor that associates with this POJO. PojoCache
-                  will dynamically add an
-                  <literal>org.jboss.cache.aop.CacheInterceptor</literal>
-                  to this POJO
-                  to perform object mapping and relationship management.
-               </para>
-		<note>
-               <para>To add your POJO, you should declare all the fields to be "prepared" as in the example.
-               </para>
-       		</note>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can I use annotation instead of the xml declaration?</para>
-            </question>
-
-            <answer>
-               <para>Yes, starting with JBossCache 1.3, you can use annotation to
-                  instrument your POJO for both JDK1.4 and 1.5. Check the documentation for details.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What are the pro and con of xml vs. annotation?</para>
-            </question>
-
-            <answer>
-               <para>It really depends on your organization environment, I'd say, since this can be turned into a
-                  hot debate. Having said that, I feel strongly that POJO annotation is well suited for PojoCache. This
-                  is
-                  because once you specify the annotation, you'd probably change it rarely since there is no parameters
-                  to
-                  tune, for example.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What are the
-                  <literal>@org.jboss.cache.aop.annotation.Transient</literal>
-                  and
-                  <literal>@org.jboss.cache.aop.annotation.Serializable</literal>
-                  field level annotations?
-               </para>
-            </question>
-
-            <answer>
-               <para>Starting in 1.4, we also offer two additional field-level annotations. The first one,
-                  <literal>@Transient</literal>
-                  ,
-                  when applied has the same effect as declaring a field
-                  <literal>transient</literal>
-                  . PojoCache
-                  won't put this field under management.
-               </para>
-               <para>The second one,
-                  <literal>@Serializable</literal>
-                  when applied, will cause PojoCache to
-                  treat the field as a Serializable object even when it is
-                  <literal>@PojoCacheable</literal>
-                  .
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What about compile-time vs. load-time instrumentation then?</para>
-            </question>
-
-            <answer>
-               <para>Again it depends. But my preference is to do compile-time instrumentation via aopc. I prefer this
-                  approach because it is easier to debug (at least at the development stage). In addition, once I
-                  generate
-                  the
-                  new class, there is no more steps needed.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Is it possible to store the same object multiple times but
-                  with different Fqn paths? Like /foo/byName and /foo/byId ?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes, you can use PojoCache to do that. It supports the
-                  notion of object reference. PojoCache manages the unique object
-                  through association of the dynamic cache interceptor.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Do I need to declare all my objects "prepared" in
-                  <literal>jboss-aop.xml</literal>
-                  ?
-               </para>
-            </question>
-
-            <answer>
-               <para>Not necessarily. If there is an object that you don't need the
-                  cache to manage for you, you can leave it out of the declaration.
-                  The cache will treat this object as a "primitive" type. However, the
-                  object will need to implement
-                  <literal>Serializable</literal>
-                  interface for replication.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can the cache aop intercept update via reflection?</para>
-            </question>
-
-            <answer>
-               <para>No. The update via reflection will not be intercepted in
-                  JBossAop and therefore PojoCache will not be able to perform the
-                  necessary synchronization.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>When I declare my POJO to be created using AOP, what happens to the
-                  fields with transient, static, and final modifiers?
-               </para>
-            </question>
-
-            <answer>
-               <para>PojoCache currently will ignore the fields with these
-                  modifiers. That is, it won't put these fields into the cache (and
-                  thus no replication either).
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What are those keys such as
-                  <literal>JBoss:internal:class</literal>
-                  and
-                  <literal>AOPInstance</literal>
-                  ?
-               </para>
-            </question>
-
-            <answer>
-               <para>They are for internal use only. Users should ignore these keys
-                  and values in the node hashmap.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What about Collection classes? Do I need to declare them
-                  "prepared"?
-               </para>
-            </question>
-
-            <answer>
-               <para>No. Since the Collection classes such as
-                  <literal>ArrayList</literal>
-                  are java util classes, aop by default
-                  won't instrument these classes. Instead, PojoCache will generate
-                  a dynamic class proxy for the Collection classes (upon the
-                  <literal>putObject</literal>
-                  call is invoked). The proxy will
-                  delegate the operations to a cache interceptor that implements the
-                  actual Collection classes APIs. That is, the system classes won't be
-                  invoked when used in PojoCache.
-               </para>
-
-               <para>Internally, the cache interceptor implements the APIs by
-                  direct interaction with respect to the underlying cache store. Note
-                  that this can have implications in performance for certain APIs. For
-                  example, both
-                  <literal>ArrayList</literal>
-                  and
-                  <literal>LinkedList</literal>
-                  will have the same implementation.
-                  Plan is currently underway to optimize these APIs.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>How do I use
-                  <literal>List</literal>
-                  ,
-                  <literal>Set</literal>
-                  ,
-                  and
-                  <literal>Map</literal>
-                  dynamic proxy?
-               </para>
-            </question>
-
-            <answer>
-               <para>PojoCache supports classes extending from
-                  <literal>List</literal>
-                  ,
-                  <literal>Set</literal>
-                  , and
-                  <literal>Map</literal>
-                  without users to declare them as being created using Aspect-Oriented Programming.
-                  It is done via a dynamic proxy. Here is a code snippet to use an
-                  <literal>ArrayList</literal>
-                  proxy class.
-               </para>
-
-               <programlisting>ArrayList list = new ArrayList();
-	list.add("first");
-
-	cache.putObject("/list/test", list); 
-	// Put the list under the aop cache
-	list.add("second"); 
-	// Won't work since AOP intercepts the dynamic proxy not the original POJO.
-
-	ArrayList myList = (List)cache.getObject("/list/test"); 
-	// we are getting a dynamic proxy instead
-	myList.add("second"); 
-	// it works now
-	myList.add("third");
-	myList.remove("third");
-               </programlisting>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What is the proper way of assigning two different keys with
-                  Collection class object?
-               </para>
-            </question>
-
-            <answer>
-               <para>Let's say you want to assign a
-                  <literal>List</literal>
-                  object
-                  under two different names, you will need to use the class proxy to
-                  insert the second time to ensure both are managed by the cache. Here
-                  is the code snippet.
-               </para>
-
-               <programlisting>ArrayList list = new ArrayList();
-	list.add("first");
-
-	cache.putObject("/list", list); 
-	// Put the list under the aop cache
-
-	ArrayList myList = (List)cache.getObject("/list"); 
-	// we are getting a dynamic proxy instead
-	myList.add("second"); 
-	// it works now
-
-	cache.putObject("/list_alias", myList); 
-	// Note you will need to use the proxy here!!
-	myList.remove("second");
-               </programlisting>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>OK, so I know I am supposed to use proxy when manipulating the
-                  Collection classes once they are managed by the cache. But what
-                  happens to Pojos that share the Collection objects, e.g., a
-                  <literal>List</literal>
-                  instance that is shared by 2 Pojos?
-               </para>
-            </question>
-
-            <answer>
-               <para>Pojos that share Collection instance references will be
-                  handled by the cache automatically. That is, when you ask the Cache
-                  to manage it, the Cache will dynamically swap out the regular
-                  Collection references with the dynamic proxy ones. As a result, it
-                  is transparent to the users.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What happens when my AOP POJO has field members that
-                  are of Collection class ?
-               </para>
-            </question>
-
-            <answer>
-               <para>When a user puts a POJO into the cache through the call
-                  <literal>putObject</literal>
-                  , it will recursively map the field
-                  members into the cache store as well. When the field member is of a
-                  Collection class (e.g., List, Set, or Map), PojoCache will first
-                  map the collection into cache. Then, it will swap out dynamically
-                  the field reference with an corresponding proxy reference.
-               </para>
-
-               <para>This is necessary so that an internal update on the field
-                  member will be intercepted by the cache.
-               </para>
-            </answer>
-         </qandaentry>
-
-
-         <qandaentry>
-            <question>
-               <para>What are the limitation of Collection classes in PojoCache?</para>
-            </question>
-
-            <answer>
-               <para>Use of Collection class in PojoCache helps you to track fine-grained changes
-                  in your collection fields automatically. However, current implementation has the follow
-                  limitation that we plan to address soon.
-               </para>
-               <para>Currently, we only support a limited implementation of Collection classes. That is,
-                  we support APIs in List, Set, and Map. However, since the APIs do not stipulate
-                  of constraints like NULL key or value, it makes mapping of user instance to our proxy tricky.
-                  For example, ArrayList would allow NULL value and some other implementation would not.
-                  The Set interface maps to java.util.HashSet implementation. The List interface maps
-                  to java.util.ArrayList implementation. The Map interface maps to java.util.HashMap
-                  implementation.
-               </para>
-               <para>Another related issue is the expected performance. For example, the current implementation is
-                  ordered,
-                  so
-                  that makes insert/delete from the Collection slow. Performance between Set, Map and List collections
-                  also
-                  vary.
-                  Adding items to a Set is slower than a List or Map, since Set does not allow duplicate entries.
-               </para>
-            </answer>
-         </qandaentry>
-
-
-         <qandaentry>
-            <question>
-               <para>What are the pros and cons of PojoCache?</para>
-            </question>
-
-            <answer>
-               <para>As mentioned in the reference doc, PojoCache has the following advantages:</para>
-               <itemizedlist>
-                  <listitem>
-                     <para>Fine-grained replication and/or persistency. If you use a distributed PojoCache
-                        and once your POJO is put in the cache store, there is no need to use another API to
-                        trigger your changes. Furthermore, the replication are fine-grained field level. Note this
-                        also applies to persistency.
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>Fine-grained replication can have potential performance gain if your POJO is big and
-                        the changes are fine-grained, e.g., only to some selected fields.
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>POJO can posses object relationship, e.g., multiple referenced. Distributed
-                        PojoCache will handle this transparently for you.
-                     </para>
-                  </listitem>
-               </itemizedlist>
-               <para>And here are some cases that you may not want to use PojoCache:</para>
-               <itemizedlist>
-                  <listitem>
-                     <para>You use only cache. That is you don't need replication or persistency. Then since
-                        everything is operated on the in-memory POJO reference, there is no need for PojoCache.
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>You have simple and small POJOs. Your POJO is small in size and also there is no
-                        object relationship, then PojoCache possess not clear advantage to plain cache.
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>Your application is bounded by memory usage. Because PojoCache need almost twice as much
-                        of memory (the original POJO in-memory space and also the additional cache store for the
-                        primitive fields), you may not want to use PojoCache.
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>Your POJO lifetime is short. That is, you need to create and destroy your POJO often.
-                        Then you need to do "pubObject" and "removeObject" often, it will be slow in performance.
-                     </para>
-                  </listitem>
-               </itemizedlist>
-            </answer>
-         </qandaentry>
-      </qandaset>
-   </chapter>
-   <chapter id="eviction">
-      <title>Eviction Policies</title>
-
-      <qandaset>
-
-
-         <qandaentry>
-            <question>
-               <para>Does JBoss Cache support eviction policies?</para>
-            </question>
-
-            <answer>
-               <para>Yes. JBoss Cache currently implements a LRU eviction policy for
-                  both TreeCache
-                  (
-                  <literal>org.jboss.cache.eviction.LRUPolicy</literal>
-                  ) and
-                  PojoCache
-                  (
-                  <literal>org.jboss.cache.aop.eviction.AopLRUPolicy</literal>
-                  ). Users
-                  can also plug in their own eviction policy algorithms. See user
-                  manual for details. Currently there is user-contributed policy
-                  called
-                  <literal>FIFOPolicy</literal>
-                  that evicts the node based on
-                  FIFO principle only.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Why can't I use
-                  <literal>org.jboss.cache.eviction.LRUPolicy</literal>
-                  for
-                  PojoCache as well?
-               </para>
-            </question>
-
-            <answer>
-               <para>For PojoCache, you will need to use
-                  <literal>org.jboss.cache.aop.eviction.AopLRUPolicy</literal>
-                  ) because
-                  AOP has its eviction algorithm, although is LRU but has totally
-                  different notion of an "object", for example.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Does JBoss Cache's implemented LRU eviction policy operates in
-                  replication mode?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes and no. :-)</para>
-
-               <para>The LRU policy only operates in local mode. That is, nodes are
-                  only evicted locally. This may cause the cache contents not to be
-                  synchronized temporarily. But when a user tries to obtain the cached
-                  contents of an evicted node and finds out that is null (e.g.,
-                  <literal>get</literal>
-                  returns null), it should get it from the
-                  other data source and re-populate the data in the cache. During this
-                  moment, the node content will be propagated and the cache content
-                  will be in sync.
-               </para>
-
-               <para>However, you still can run eviction policies with cache mode
-                  set to either
-                  <literal>REPL_SYNC</literal>
-                  or
-                  <literal>REPL_ASYNC</literal>
-                  . Depending on your use case, you can
-                  set multiple cache instances to have their own eviction policy
-                  (which are applied locally) or just have selected instances with
-                  eviction policies activated.
-               </para>
-
-               <para>Also note that, with cache loader option, a locally evicted
-                  node can also be persisted to the backend store and a user can
-                  retrieve it from the store later on.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Does JBoss Cache support
-                  <literal>Region</literal>
-                  ?
-               </para>
-            </question>
-
-            <answer>
-               <para>Yes. JBoss Cache has the notion of region where a user can
-                  configure the eviction policy parameters (e.g.,
-                  <literal>maxNodes</literal>
-                  or
-                  <literal>timeToIdleSeconds</literal>
-                  )
-               </para>
-
-               <para>A region in JBoss Cache denotes a portion of tree hierarchy,
-                  e.g., a fully qualified name (
-                  <literal>FQN</literal>
-                  ). For example,
-                  a user can define
-                  <literal>/org/jboss</literal>
-                  and
-                  <literal>/org/foocom</literal>
-                  as two separate regions. But note
-                  that you can configure the region programmatically now, i.e.,
-                  everything has to be configured through the xml file.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What are the
-                  <literal>EvictionPolicyConfig</literal>
-                  tag
-                  parameters for
-                  <literal>org.jboss.cache.eviction.LRUPolicy</literal>
-                  ?
-               </para>
-            </question>
-
-            <answer>
-               <para>They are:</para>
-
-
-               <table>
-                  <title>Parameters</title>
-
-                  <tgroup cols="2">
-                     <tbody>
-                        <row>
-                           <entry>wakeUpIntervalInSeconds</entry>
-
-                           <entry>Interval where the clean up thread wakes to process
-                              the sitting queue and sweep away the old data.
-                           </entry>
-                        </row>
-
-                        <row>
-                           <entry>region</entry>
-
-                           <entry>A area where each eviction policy parameters are
-                              specified. Note that it needs a minimum of
-                              <literal>/_default</literal>
-                              region.
-                           </entry>
-                        </row>
-
-                        <row>
-                           <entry>maxNodes</entry>
-
-                           <entry>Max number of nodes allowed in the eviction queue. 0
-                              means no limit.
-                           </entry>
-                        </row>
-
-                        <row>
-                           <entry>timeToLiveInSeconds</entry>
-
-                           <entry>Age (in seconds) for the node to be evicted in the
-                              queue. 0 denotes no limit.
-                           </entry>
-                        </row>
-                     </tbody>
-                  </tgroup>
-               </table>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>I have turned on the eviction policy, why do I still get "out
-                  of memory" (OOM) exception?
-               </para>
-            </question>
-
-            <answer>
-               <para>OOM can happen when the speed of cache access exceeds the
-                  speed of eviction policy handling timer. Eviction policy handler
-                  will wake up every
-                  <literal>wakeUpIntervalInSeconds</literal>
-                  seconds to process the eviction event queue. And the queue size is
-                  fixed at 20000 now. So when the queue size is full, it will create a
-                  backlog and cause OOM to happen unless the eviction timer catches
-                  up. To address this problem, in addition to increase the VM heap
-                  size, you can also reduce the
-                  <literal>wakeUpIntervaleInSeconds</literal>
-                  so the timer thread
-                  processes the queue more frequently.
-               </para>
-
-               <para>We will also externalize the queue size so it will be
-                  configurable in the next release.
-               </para>
-            </answer>
-         </qandaentry>
-      </qandaset>
-   </chapter>
-   <chapter id="cacheloaders">
-      <title>Cache Loaders</title>
-
-      <qandaset>
-
-
-         <qandaentry>
-            <question>
-               <para>What is a CacheLoader?</para>
-            </question>
-
-            <answer>
-               <para>A CacheLoader is the connection of JBossCache to a
-                  (persistent) data store. The CacheLoader is called by JBossCache to
-                  fetch data from a store when that data is not in the cache, and when
-                  modifications are made to data in the cache the CacheLoader is
-                  called to store those modifications back to the store.
-               </para>
-
-               <para>In conjunction with eviction policies, JBossCache with a
-                  CacheLoader allows a user to maintain a bounded cache for a large
-                  backend datastore. Frequently used data is fetched from the
-                  datastore into the cache, and the least used data is evicted, in
-                  order to provide fast access to frequently accessed data. This is
-                  all configured through XML, and the programmer doesn't have to take
-                  care of loading and eviction.
-               </para>
-
-               <para>JBossCache currently ships with several CacheLoader
-                  implementations, including:
-               </para>
-
-               <para>
-                  <itemizedlist>
-                     <listitem>
-                        <para>FileCacheLoader: this implementation uses the file
-                           system to store and retrieve data. JBossCache nodes are mapped
-                           to directories, subnodes to subdirectories etc. Attributes of
-                           a node are mapped to a file
-                           <literal>data</literal>
-                           inside the
-                           directory.
-                        </para>
-                     </listitem>
-
-                     <listitem>
-                        <para>BdbjeCacheLoader: this implementation is based on the
-                           Sleepycat Java Edition database, a fast and efficient
-                           transactional database. It uses a single file for the entire
-                           store. Note that if you use Sleepycat's CacheLoader with
-                           JBoss Cache and wish to ship your product, you will have to acquire a
-                           <ulink url="http://www.sleepycat.com/jeforjbosscache">commercial license from Sleepycat
-                           </ulink>
-                           .
-                        </para>
-                     </listitem>
-
-                     <listitem>
-                        <para>JDBCCacheLoader: this implementation uses the relational database as the persistent
-                           storage.
-                        </para>
-                     </listitem>
-
-                     <listitem>
-                        <para>ClusteredCacheLoader: this implementation queries the rest of the cluster, treating other
-                           servers' in-memory state as a data store.
-                        </para>
-                     </listitem>
-
-                     <listitem>
-                        <para>And more. See the documentation for more details.</para>
-                     </listitem>
-                  </itemizedlist>
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can writing to CacheLoaders be asynchronous?</para>
-            </question>
-
-            <answer>
-               <para>As of JBossCache 1.2.4, yes. Set the CacheLoaderAsynchronous
-                  property to true. See the JBossCache documentation for a more
-                  detailed discussion. By default though, all cache loader writes are
-                  synchronous and will block.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can I write my own CacheLoader ?</para>
-            </question>
-
-            <answer>
-               <para>Yes. A CacheLoader is a class implementing
-                  <literal>org.jboss.cache.loader.CacheLoader</literal>
-                  . It is
-                  configured via the XML file (see JBossCache and Tutorial
-                  documentation).
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Does a CacheLoader have to use a persistent store ?</para>
-            </question>
-
-            <answer>
-               <para>No, a CacheLoader could for example fetch (and possibly store)
-                  its data from a webdav-capable webserver. Another example is a
-                  caching proxy server, which fetches contents from the web. Note that
-                  an implementation of CacheLoader may not implement the 'store'
-                  functionality in this case, but just the 'load'
-                  functionality.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>What can I use a CacheLoader for?</para>
-            </question>
-
-            <answer>
-               <para>Some applications:</para>
-
-               <para>
-                  <itemizedlist>
-                     <listitem>
-                        <para>HTTP sessions can be persisted (besides being replicated
-                           by JBossCache). The CacheLoader can be configured to be
-                           shared, or unshared, meaning that every node in a cluster has
-                           its own local store. It is also possible to attach a
-                           CacheLoader to just
-                           <emphasis>one</emphasis>
-                           of the
-                           nodes.
-                        </para>
-                     </listitem>
-
-                     <listitem>
-                        <para>Simple persistence for POJOs. Use of JBossCache aop and
-                           a local CacheLoader persist POJOs transparently into the store
-                           provided by the CacheLoader.
-                        </para>
-                     </listitem>
-
-                     <listitem>
-                        <para>Highly available replicated and persisted data store.
-                           The service is up as long as at least 1 node is running, but
-                           even if all nodes are taken offline, when the first node is
-                           started again, the data previously saved will still be
-                           available (e.g. a shopping cart).
-                        </para>
-                     </listitem>
-
-                     <listitem>
-                        <para>A caching web proxy (a la Squid): all data are contents
-                           of URLs, users access the proxy, and if the URL is not in the
-                           cache, the CacheLoader fetches it from the web. This could
-                           actually be a replicated and transactional version of
-                           Squid.
-                        </para>
-                     </listitem>
-                  </itemizedlist>
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>How do I configure JBossCache with a CacheLoader?</para>
-            </question>
-
-            <answer>
-               <para>Through XML: both the fully-qualified classname of the
-                  CacheLoader and its configuration string have to be given.
-                  JBossCache will then instantiate a CacheLoader. See JBossCache
-                  documentation for details.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Do I have to pay to use Sleepycat's CacheLoader?</para>
-            </question>
-
-            <answer>
-               <para>Not if you use it only for personal use. As soon as you
-                  distribute your product with BdbjeCacheLoader, you have to purchase
-                  a commercial license from Sleepycat. See details at
-                  <ulink
-                          url="http://www.sleepycat.com/jeforjbosscache">http://www.sleepycat.com/jeforjbosscache
-                  </ulink>
-                  .
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Can I use more than one cache loader?</para>
-            </question>
-
-            <answer>
-               <para>As of JBossCache 1.3.0, yes. With the new CacheLoaderConfiguration XML
-                  element (see user manual section on cache loaders) you can now
-                  describe several cache loaders. The impact is that the cache will
-                  look at all of the cache loaders in the order they've been
-                  configured, until it finds a valid, non-null element of data. When
-                  performing writes, all cache loaders are written to (except if the
-                  ignoreModifications element has been set to true for a specific
-                  cache loader.
-               </para>
-            </answer>
-         </qandaentry>
-
-         <qandaentry>
-            <question>
-               <para>Why do cache loaders go into an inconsistent state when I use transactions, pessimistic locking,
-                  and I
-                  attempt to read a node after removing it from within the same transaction scope?
-               </para>
-            </question>
-
-            <answer>
-               <para>This is a known bug (see
-                  <ulink url="http://jira.jboss.com/jira/browse/JBCACHE-477">JBCACHE-477</ulink>
-                  and
-                  <ulink url="http://jira.jboss.com/jira/browse/JBCACHE-352">JBCACHE-352</ulink>
-                  ), which have been fixed in JBoss Cache 1.4.0. A very simple workaround if you're using JBoss Cache
-                  1.3.x
-                  is to use optimistic locking.
-               </para>
-               <para>
-                  One of the consequences of this bug is that, for example, if you use PojoCache with pojos that have
-                  private references to a List and you update and remove someelements of that List within a transaction
-                  (when using pessimistic locking and a cache loader), you may see IllegalStateExceptions thrown.
-               </para>
-            </answer>
-         </qandaentry>
-
-
-      </qandaset>
-   </chapter>
-   <chapter id="troubleshooting">
-      <title>Troubleshooting</title>
-      <qandaset>
-
-         <qandaentry>
-            <question>
-               <para>I am having problems getting JBoss Cache to work, where can I get information on troubleshooting?
-               </para>
-            </question>
-            <answer>
-               <para>Troubleshooting section can be found in the following
-                  <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheTroubleshooting">wiki link</ulink>
-                  .
-               </para>
-            </answer>
-         </qandaentry>
-      </qandaset>
-   </chapter>
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
-
-</book>

Added: projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.ent	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,3 @@
+<!ENTITY HOLDER "Red Hat, Inc">
+<!ENTITY YEAR "2008">
+<!ENTITY VERSION "">

Added: projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.xml	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_FAQ/en-US/JBoss_Cache_Frequently_Asked_Questions_CP05.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,2252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<book id="cache_faq">
+   <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+   <chapter id="general">
+
+      <title>General Information</title>
+      <qandaset>
+         <qandaentry id="a1">
+            <question>
+               <para>What is JBoss Cache?</para>
+            </question>
+
+            <answer>
+               <para>JBoss Cache is a replicated and transactional cache. It is
+                  replicated since multiple JBoss Cache instances can be distributed
+                  (either within the same JVM or across several JVMs whether they reside on
+                  the same machine or on different machines on a network) and data is
+                  replicated across the whole group. It is transactional because a
+                  user can configure a JTA compliant transaction manager and make the cache
+                  operation transactional. Note that the cache can also be run without
+                  any replication; this is the local mode.
+               </para>
+
+               <para>Currently, JBoss Cache consists of two components: a generic cache
+                  (implemented internally as
+                  <literal>org.jboss.cache.TreeCache</literal>
+                  ) and a POJO cache (implemented
+                  internally as
+                  <literal>org.jboss.cache.aop.PojoCache</literal>
+                  ).
+                  <literal>TreeCache</literal>
+                  is a tree-structured cache that provides replication and
+                  transaction context, while
+                  <literal>PojoCache</literal>
+                  extends the functionality of
+                  <literal>TreeCache</literal>
+                  but behaves as a true object cache providing transparent
+                  and finer-grained object mapping into internal cache.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a2">
+            <question>
+               <para>Who are the JBoss Cache developers?</para>
+            </question>
+
+            <answer>
+               <para>JBossCache has been developed by Bela Ban, Ben Wang, Harald
+                  Gliebe, Manik Surtani and Brian Stansberry. Manik is the lead on JBoss Cache and Ben is the lead on
+                  PojoCache.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a3">
+            <question>
+               <para>What is the license for JBoss Cache?</para>
+            </question>
+
+            <answer>
+               <para>JBoss Cache is licensed under
+                  <ulink url="http://www.gnu.org/licenses/lgpl.html">LGPL</ulink>
+                  .
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a4">
+            <question>
+               <para>Where can I download JBoss Cache?</para>
+            </question>
+
+            <answer>
+               <para>The JBoss Cache
+                  <ulink url="http://www.jboss.com/products/jbosscache/downloads">product download page</ulink>
+                  has prebuilt binaries as well as source distributions. You can also grab snapshots from the JBoss CVS
+                  repository (see
+                  <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=CVSRepository">this wiki page</ulink>
+                  ) - the module name is
+                  <emphasis role="bold">JBossCache</emphasis>
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a5">
+            <question>
+               <para>How do I build JBoss Cache from CVS sources?</para>
+            </question>
+
+            <answer>
+               <para>To build, do
+                  <literal>sh build.sh
+                     jar
+                  </literal>
+                  . This will produce
+                  <literal>jboss-cache.jar</literal>
+                  in the
+                  <literal>dist/lib</literal>
+                  directory. Or if you want to
+                  build the standalone package, do
+                  <literal>sh build.sh dist</literal>
+                  this will produce
+                  <literal>dist/jboss-cache-dist.zip</literal>
+                  Note that you will need to
+                  use JDK 5.0 to build the distribution. You can still use the binaries you build with J2SE 1.4.x
+                  though.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a6">
+            <question>
+               <para>Which JVMs are supported by JBoss Cache?</para>
+            </question>
+
+            <answer>
+               <para>JBoss Cache has been tested and supported on J2SE 1.4.x and JDK 5.0.
+                  On jboss-3.2 CVS tree, it also compiles on JDK1.3, but there is no
+                  official support for this version and using this is not recommended.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a7">
+            <question>
+               <para>From JBoss Cache 1.3.0 onwards, there is a new directory
+                  <code>lib-50</code>
+                  ,
+                  what is it?
+               </para>
+            </question>
+
+            <answer>
+               <para>From JBoss Cache 1.3.0 onwards, we support the use of Java 5 annotations, used by PojoCache.
+                  As a result, there are
+                  <code>jboss-aop-jdk50.jar</code>
+                  and
+                  <code>jboss-cache-jdk50.jar</code>
+                  that
+                  are needed to work with the Java 5 annotations. You will need to replace
+                  <code>jboss-aop.jar</code>
+                  and
+                  <code>jboss-cache.jar</code>
+                  in the lib directory with the
+                  <code>-jdk50</code>
+                  versions if you intend
+                  to use PojoCache, Java 5 and annotations.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a8">
+            <question>
+               <para>How do I know the version of JBoss Cache that I am using?</para>
+            </question>
+
+            <answer>
+               <para>Since release 1.2, you can check the jar version by running:
+                  <code>java -jar jboss-cache.jar org.jboss.cache.Version</code>
+                  .
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a9">
+            <question>
+               <para>Can I run JBoss Cache outside of JBoss Application
+                  Server?
+               </para>
+            </question>
+
+            <answer>
+               <para>Of course! JBoss Cache comes in two flavors:</para>
+
+               <itemizedlist>
+                  <listitem>
+                     <para>Integrated with JBoss Application Server as an MBean service.</para>
+                  </listitem>
+
+                  <listitem>
+                     <para>Standalone, that can run in any Java EE server such
+                        as BEA WebLogic or IBM Websphere. Of course, it can also run in
+                        a standalone Java process (i.e., outside Java EE context).
+                     </para>
+                  </listitem>
+               </itemizedlist>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a101">
+            <question>
+               <para>Where can I report bugs or problems?</para>
+            </question>
+
+            <answer>
+               <para>Please report any bugs or problems to
+                  <ulink
+                          url="http://www.jboss.org/index.html?module=bb&amp;op=viewforum&amp;f=157">JBoss Cache
+                     User Forum
+                  </ulink>
+                  .
+               </para>
+            </answer>
+         </qandaentry>
+      </qandaset>
+   </chapter>
+   <chapter id="tree_cache">
+      <title>JBoss Cache - Tree Cache</title>
+      <qandaset>
+         <qandaentry id="a10">
+            <question>
+               <para>How do I deploy JBoss Cache as a MBean service?</para>
+            </question>
+
+            <answer>
+               <para>To deploy JBoss Cache as an MBean inside JBoss, you can copy the
+                  configuration xml file over to the
+                  <literal>deploy</literal>
+                  directory (from
+                  <literal>all</literal>
+                  configuration whereby the
+                  necessary jars are present). Under the standalone package
+                  <literal>etc/META-INF</literal>
+                  directory , there are example
+                  configuration files for different cache modes that can be used to
+                  deploy JBoss Cache as well.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a11">
+            <question>
+               <para>How do I know if my JBoss Cache MBean has been deployed?</para>
+            </question>
+
+            <answer>
+               <para>To verify that your JBoss Cache MBean is deployed correctly,
+                  you can first check the log output under the command console. Next
+                  you can verify it from JBoss JMX console. Look for
+                  <literal>jboss.cache</literal>
+                  domain.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a12">
+            <question>
+               <para>How do I access the JBoss Cache MBean?</para>
+            </question>
+
+            <answer>
+               <para>Accessing the JBoss Cache MBean is just like accessing any
+                  JBoss MBean. Here is a code snippet:
+               </para>
+
+	<programlisting>
+		import org.jboss.mx.util.MBeanServerLocator;
+		import org.jboss.mx.util.MBeanProxyExt;
+		import org.jboss.cache.TreeCacheMBean;
+		import javax.management.MBeanServer;
+		...
+	
+		MBeanServer server;
+		TreeCacheMBean cache;
+	
+		public init() throws Exception
+		{
+		try
+		{
+		server = MBeanServerLocator.locateJBoss();
+		cache = (TreeCacheMBean) MBeanProxyExt.create(TreeCacheMBean.class,
+		"jboss.cache:service=TreeCache",
+		server);
+		}
+		catch (Exception ex)
+		{
+		// handle exception
+		}
+		}
+	
+		public void myBusinessMethod()
+		{
+		Object value = cache.get("/my/node", "myKey");
+	
+		HashMap stuff = new HashMap();
+		stuff.put("key1", "value1");
+		stuff.put("key2", "value2");
+		stuff.put("key3", "value3");
+	
+		cache.put("/my/new/node", stuff);
+	
+		cache.remove("/my/node");
+	
+		...
+		}
+	
+	</programlisting>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a13">
+            <question>
+               <para>Can I run JBoss Cache on JBoss AS 3.2.x releases?</para>
+            </question>
+
+            <answer>
+               <para>Yes. The JBoss Cache source code is also up to date on the
+                  jboss-3.2 CVS branch. However, only TreeCache is supported there
+                  since JBossAop (which PojoCache relies on) is only available in JBoss AS 4.x onwards.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a14">
+            <question>
+               <para>Can I run multiple JBoss Cache instances on the same VM?</para>
+            </question>
+
+            <answer>
+               <para>Yes. There are some scenarios where you may want to run
+                  multiple instances of JBoss Cache. For example, you want to run
+                  multiple local cache instances with each instance having its own
+                  configuration (e.g., different cache policy). In this case, you will
+                  need multiple xml configuration files.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a15">
+            <question>
+               <para>Can TreeCache run as a second level cache inside
+                  Hibernate?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. Since Hibernate 3.0 release, you can configure it to use
+                  JBoss Cache (namely, TreeCache) as a second level cache. For details,
+                  see Hibernate documentation, and also see
+                  <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheHibernate">
+                     http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheHibernate
+                  </ulink>
+               </para>
+
+               <para>Note that since Hibernate 3.0.2 and JBossCache 1.2.2, we have
+                  fixed a critical bug that depending on the usage pattern can cause
+                  deadlock during query caching.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a16">
+            <question>
+               <para>What about using PojoCache as a Hibernate cache?</para>
+            </question>
+
+            <answer>
+               <para>It is not necessary to use PojoCache for second level
+                  cache inside Hibernate because Hibernate
+                  manages fine-grained fields in Java objects. So using PojoCache won't
+                  provide any advantage.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a17">
+            <question>
+               <para>How can I configure JBoss Cache?</para>
+            </question>
+
+            <answer>
+               <para>You can configure the JBoss Cache through a configuration xml
+                  file. Or you can set it programmatically through its get/set methods.
+                  Check with the documentation for both examples.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a18">
+            <question>
+               <para>In the configuration xml file, there are tags such as
+                  <literal>class</literal>
+                  ,
+                  <literal>MBean</literal>
+                  , etc. What are
+                  these?
+               </para>
+            </question>
+
+            <answer>
+               <para>These are tags for deploying JBoss Cache as a JBoss MBean
+                  service. For consistency, we have kept them in the
+                  standalone package as well, specifically, the
+                  <literal>MBean</literal>
+                  tag. If you run in standalone mode,
+                  JBoss Cache will ignore these elements.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a19">
+            <question>
+               <para>What is the difference between the different cache
+                  modes?
+               </para>
+            </question>
+
+            <answer>
+               <para>JBossCache has five different cache modes, i.e.,
+                  <literal>LOCAL</literal>
+                  ,
+                  <literal>REPL_SYNC</literal>
+                  ,
+                  <literal>REPL_ASYNC</literal>
+                  ,
+                  <literal>INVALIDATION_SYNC</literal>
+                  and
+                  <literal>INVALIDATION_ASYNC</literal>
+                  . If you want to run JBoss Cache as a
+                  single instance, then you should set the cache mode to
+                  <literal>LOCAL</literal>
+                  so that it won't attempt to replicate anything.
+                  If you want to have synchronous replication among different
+                  JBoss Cache instances, you set it to
+                  <literal>REPL_SYNC</literal>
+                  .
+                  For asynchronous replication, use
+                  <literal>AYSNC_REPL</literal>
+                  . If you do not wish to replicate cached data but simply inform other caches in a cluster that data
+                  under
+                  specific addresses are now stale and should be evicted from memory, use
+                  <literal>INVALIDATION_SYNC</literal>
+                  or
+                  <literal>INVALIDTAION_ASYNC</literal>
+                  . Synchronous and asynchronous behavior applies to invalidation as well as replication.
+               </para>
+
+               <para>Note that
+                  <literal>ASYNC_REPL</literal>
+                  and
+                  <literal>INVALIDATION_ASYNC</literal>
+                  are non-blocking. This
+                  can be useful when you want to have another JBoss Cache serving as a
+                  mirror or backup and you don't want to wait for confirmation that this mirror has received your
+                  messages.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a20">
+            <question>
+               <para>How does JBoss Cache's replication mechanism work?</para>
+            </question>
+
+            <answer>
+               <para>JBoss Cache leverages
+                  <ulink url="http://www.jgroups.org">JGroups</ulink>
+                  as a replication layer. A user
+                  can configure the cluster of JBoss Cache instances by sharing the
+                  same cluster name (
+                  <literal>cluster name</literal>
+                  ). There is also
+                  an option of whether to populate the cache data upon starting a new
+                  instance in the
+                  <literal>ClusterConfig</literal>
+                  attribute.
+               </para>
+
+               <para>Note that once all instances join the same replication group,
+                  every replication change is propagated to all participating members.
+                  There is no mechanism for sub-partitioning where some replication
+                  can be done within only a subset of members. This is on our to do
+                  list.
+               </para>
+            </answer>
+         </qandaentry>
+
+	<qandaentry id="a21">
+            <question>
+               <para>I run a 2 node cluster. If the network dies, do the caches continue to run?</para>
+            </question>
+
+            <answer>
+               <para>Yes, both will continue to run, but depending on your replication mode, all transactions or
+                  operations may not complete. If
+                  <literal>REPL_SYNC</literal>
+                  is used, operations will fail while if
+                  <literal>REPL_ASYNC</literal>
+                  is used they will succeed. Even if they succeed though, caches will be out of sync.
+               </para>
+            </answer>
+         </qandaentry>
+
+
+         <qandaentry id="a22">
+            <question>
+               <para>Can I plug in library X instead of JGroups to handle remote calls and group communications?</para>
+            </question>
+
+            <answer>
+               <para>At this stage (JBoss Cache 1.x) the answer is no. We do have an abstraction layer between the
+                  communication suite and JBoss Cache in the pipelines, and this may appear as a feature at some stage
+                  in
+                  the future.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a23">
+            <question>
+               <para>Does the cache need to replicate to every other instance in the cluster? Isn't this slow if the
+                  cluster is large?
+               </para>
+            </question>
+
+            <answer>
+               <para>As of JBoss Cache 1.4.0, replication need not occur to every node in the cluster. This feature -
+                  called Buddy Replication -
+                  allows each node to pick one or more 'buddies' in the cluster and only replicate to its buddies. This
+                  allows a cluster to scale
+                  very easily with no extra impact on memory or network traffic with each node added.
+               </para>
+               <para>
+                  See the User Guide for more information on Buddy Replication, and how it can be used to achieve very
+                  high
+                  scalability.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a24">
+            <question>
+               <para>If I have the need for different TreeCache properties (e.g.,
+                  <literal>CacheMode</literal>
+                  and
+                  <literal>IsolationLevel</literal>
+                  ), do I simply need to create multiple
+                  TreeCache instances with the appropriate configuration?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. All the above mentioned properties are per cache
+                  instance. Therefore you will need a separate JBoss Cache
+                  instance.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a25">
+            <question>
+               <para>Does the Tree Cache config
+                  <literal>ClusterName</literal>
+                  have
+                  any relation to the JBoss AS cluster
+                  <literal>PartitionName</literal>
+                  ?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. They are both JGroups group names. Besides the notion of
+                  a channel in JGroups, it also can partition the channel into different
+                  group names.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a26">
+            <question>
+               <para>When using multiple JGroups based components
+                  [cluster-service.xml, treecache (multiple instances)], what is the
+                  correct/valid way to configure those components to make sure my
+                  multicast addresses don't conflict?
+               </para>
+            </question>
+
+            <answer>
+               <para>There are two parameters to consider: multicast address (plus
+                  port) and the group name. At minimum, you will have to run
+                  components using a different group name. But whether to run them on
+                  the same channel depends upon whether the communication performance
+                  is critical for you or not. If it is, then it'd be best to run them
+                  on different channels.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a27">
+            <question>
+               <para>Does JBoss Cache currently support cache persistence
+                  storage?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. Starting with release 1.1, JBoss Cache has a CacheLoader
+                  interface that supports cache persistence. See below.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a28">
+            <question>
+               <para>Does JBoss Cache currently support cache passivation/ overflow
+                  to a data store?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. Starting with release 1.2.4, JBoss Cache uses the
+                  CacheLoader to support cache passivation/ overflow. See
+                  documentation on how to configure and use this feature.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a29">
+            <question>
+               <para>Is JBoss Cache thread safe?</para>
+            </question>
+
+            <answer>
+               <para>Yes, it is thread safe.</para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a30">
+            <question>
+               <para>Does JBoss Cache support XA (2PC) transactions now?</para>
+            </question>
+
+            <answer>
+               <para>No, although it is also on our to do list. Our internal
+                  implementation does use a similar 2PC procedure to coordinate a
+                  transaction among different instances.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a31">
+            <question>
+               <para>Which TransactionManagers are supported by
+                  JBoss Cache?
+               </para>
+            </question>
+
+            <answer>
+               <para>JBoss Cache supports any TransactionManager that is JTA
+                  compliant such as JBossTM. A user can configure the transaction
+                  manager through the configuration xml setting. JBossCache also has a
+                  built in dummy transaction manager
+                  (
+                  <literal>org.jboss.cache.tm.DummyTransactionManager</literal>
+                  ) for
+                  testing purposes only. But note that
+                  <literal>DummyTransactionManager</literal>
+                  is not thread safe .i.e.,
+                  it does not support concurrent transactions. Instead, only one
+                  transaction is allowed at a time.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a32">
+            <question>
+               <para>How do I set up the cache to be transactional?</para>
+            </question>
+
+            <answer>
+               <para>You either use the default (JBoss) TransactionManager to run
+                  JBossCache inside JBoss, or you have to implement the
+                  <literal>TransactionManagerLookup</literal>
+                  interface, and return an
+                  instance of your javax.transaction.TransactionManager. The
+                  configuration property
+                  <literal>TransactionManagerLookupClass</literal>
+                  defines the class
+                  to be used by the cache to fetch a reference to a
+                  TransactionManager. It is trivial to implement this class to support
+                  other TransactionManagers. Once this attribute is specified, the
+                  cache will look up the transaction context from this transaction
+                  manager.
+               </para>
+
+               <para>For the client code, here is a snippet to start and commit a
+                  transaction:
+               </para>
+
+		<programlisting>tx = (UserTransaction)new InitialContext(prop).lookup("UserTransaction");
+	tree = new TreeCache();
+	config = new PropertyConfigurator();
+	config.configure(tree, "META-INF/replSync-service.xml");
+
+	tx.begin()
+	tree.put(fqn, key, value);
+	tx.commit();
+               </programlisting>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a33">
+            <question>
+               <para>How do I control the cache locking level?</para>
+            </question>
+
+            <answer>
+               <para>JBossCache lets you control the cache locking level through
+                  the transaction isolation level. This is configured through the
+                  attribute
+                  <literal>IsolationLevel</literal>
+                  . Currently, JBossCache
+                  employs pessimistic locking internally. And the transaction
+                  isolation level from the pessimist locking corresponds to JDBC
+                  isolation levels, namely,
+                  <literal>NONE</literal>
+                  ,
+                  <literal>READ_UNCOMMITTED</literal>
+                  ,
+                  <literal>READ_COMMITTED</literal>
+                  ,
+                  <literal>REPEATABLE_READ</literal>
+                  , and
+                  <literal>SERIALIZABLE</literal>
+                  . Note that these isolation levels are ignored if optimistic locking is used. For details, please
+                  refer
+                  to the
+                  user manual.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a34">
+            <question>
+               <para>How does JBoss Cache lock data for concurrent access?</para>
+            </question>
+
+            <answer>
+               <para>By default JBoss Cache uses pessimistic locking to lock data nodes, based on the isolation level
+                  configured. Since JBoss Cache 1.3.0, we also offer optimistic locking to allow for greater concurrency
+                  at
+                  the cost of slight processing overhead and performance. See the documentation for a more detailed
+                  discussion on concurrency and locking in JBoss Cache.
+               </para>
+            </answer>
+         </qandaentry>
+
+
+         <qandaentry id="a35">
+            <question>
+               <para>How do I enable Optimistic Locking in JBoss Cache?</para>
+            </question>
+
+            <answer>
+               <para>Use the XMl attribute
+                  <code>NodeLockingScheme</code>
+                  . Note that
+                  <code>IsolationLevel</code>
+                  is ignored if
+                  <code>NodeLockingScheme</code>
+                  is set to
+                  <code>OPTIMISTIC</code>
+                  . Also note that
+                  <code>NodeLockingScheme</code>
+                  defaults to
+                  <code>PESSIMISTIC</code>
+                  if omitted.
+               </para>
+            </answer>
+         </qandaentry>
+
+
+         <qandaentry id="a36">
+            <question>
+               <para>How does the write lock apply to an Fqn node, say,
+                  "/org/jboss/test"?
+               </para>
+            </question>
+
+            <answer>
+               <para>First of all, JBossCache has a notion of
+                  <literal>root</literal>
+                  that serves as a starting point for every navigational operation.
+                  The default is "/" (since the default separator is "/" for the fqn).
+                  The locking then is applied to the node under root, for example
+                  "/org" (no locking "/").
+               </para>
+
+               <para>Furthermore, let's say when JBossCache needs to apply a write
+                  lock on node "/org/jboss/test", it will first try to obtain read
+                  lock from the parent nodes recursively (in this example, "/org", and
+                  "/org/jboss"). Only when it succeeds then it will try to obtain a
+                  write lock on "/org/jboss/test".
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a37">
+            <question>
+               <para>Can I use the cache locking level even without a transaction
+                  context?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. JBossCache controls the individual node locking behavior
+                  through the isolation level semantics. This means even if you don't
+                  use a transaction, you can specify the lock level via isolation
+                  level. You can think of the node locking behavior outside of a
+                  transaction as if it is under transaction with
+                  <literal>auto_commit</literal>
+                  on.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a38">
+            <question>
+               <para>With replication (REPL_SYNC/REPL_ASYNC) or invalidation (INVALIDATION_SYNC/INVALIDATION_ASYNC), how
+                  often does the cache broadcast messages over the network?
+               </para>
+            </question>
+
+            <answer>
+               <para>If the updates are under transaction, then the broadcasts
+                  happen only when the transaction is about to commit (actually
+                  during the prepare stage internally). That is, it will be a batch
+                  update. However, if the operations are not under transaction
+                  context, then each update will trigger replication. Note that this
+                  has performance implication if network transport is heavy (it
+                  usually is).
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a39">
+            <question>
+               <para>How can I do a mass removal?</para>
+            </question>
+
+            <answer>
+               <para>If you do a cache.remove("/root"), it will recursively remove
+                  all the entries under "/root".
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a40">
+            <question>
+               <para>Can I monitor and manage the JBoss Cache?</para>
+            </question>
+
+            <answer>
+               <para>With JBoss Cache 1.3.0, you can if you are running JBoss Cache within JBoss AS or are using JDK
+                  5.0's
+                  <literal>jconsole</literal>
+                  utility. See the chapter titled
+                  <emphasis role="bold">Management Information</emphasis>
+                  in the JBoss Cache user guide for more details.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a41">
+            <question>
+               <para>Can I disable JBoss Cache management attributes in JBoss Cache 1.3.0?</para>
+            </question>
+
+            <answer>
+               <para>Yes, you can. Set the
+                  <literal>UseInterceptorMbeans</literal>
+                  configuration attribute to
+                  <literal>false</literal>
+                  (this defaults to
+                  <literal>true</literal>
+                  ). See the chapter titled
+                  <emphasis role="bold">Management Information</emphasis>
+                  in the JBoss Cache user guide for more details.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a42">
+            <question>
+               <para>What is jboss-serialization.jar, introduced in JBoss Cache 1.4.x and do I need this?</para>
+            </question>
+            <answer>
+               <para>jboss-serialization.jar is the
+                  <ulink url="http://labs.jboss.org/portal/index.html?ctrl:id=page.default.info&amp;project=serialization">
+                     JBoss Serialization
+                  </ulink>
+                  library, which is much more efficient in terms
+                  of speed and CPU usage as well as the generated byte stream size than standard Java serialization.
+                  This
+                  very
+                  significantly improves replication performance of custom objects placed in the cache.
+               </para>
+               <para>
+                  From 1.4.x, JBoss Cache relies on this library and it is needed to run JBoss Cache.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a43">
+            <question>
+               <para>Can I disable JBoss Serialization and revert back to standard Java serialization?</para>
+            </question>
+
+            <answer>
+               <para>Yes you can, by passing in the
+                  <literal>-Dserialization.jboss=false</literal>
+                  environment variable to your JVM.
+               </para>
+            </answer>
+         </qandaentry>
+
+
+         <qandaentry id="a44">
+            <question>
+               <para>Does JBoss Cache support partitioning?</para>
+            </question>
+
+            <answer>
+               <para>Not right now. JBoss Cache does not support partitioning that a
+                  user can configure to have different set of data residing on
+                  different cache instances while still participating as a replication
+                  group.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a45">
+            <question>
+               <para>Does JBoss Cache handle the concept of application classloading
+                  inside, say, a J2EE container?
+               </para>
+            </question>
+
+            <answer>
+               <para>Application-specific classloading is used widely inside a J2EE
+                  container. For example, a web application may require a new
+                  classloader to scope a specific version of the user library.
+                  However, by default JBoss Cache is agnostic to the classloader. In
+                  general, this leads to two kinds of problems:
+               </para>
+
+               <itemizedlist>
+                  <listitem>
+                     <para>Object instance is stored in cache1 and replicated to
+                        cache2. As a result, the instance in cache2 is created by the
+                        system classloader. The replication may fail if the system
+                        classloader on cache2 does not have access to the required
+                        class. Even if replication doesn't fail, a user thread in cache2
+                        may not be able to access the object if the user thread is
+                        expecting a type defined by the application classloader.
+                     </para>
+                  </listitem>
+
+                  <listitem>
+                     <para>Object instance is created by thread 1 and will be
+                        accessed by thread 2 (with two different classloaders).
+                        JBossCache has no notion of the different classloaders involved.
+                        As a result, you will have a
+                        <literal>ClassCastException</literal>
+                        . This is a standard
+                        problem in passing an object from one application space to
+                        another; JBossCache just adds a level of indirection in passing
+                        the object.
+                     </para>
+                  </listitem>
+               </itemizedlist>
+
+               <para>To solve the first kind of issue, in JBoss Cache 1.2.4 we
+                  introduced the concept of a
+                  <literal>TreeCacheMarshaller</literal>
+                  .
+                  Basically, this allows application code to register a classloader
+                  with a portion of the cache tree for use in handling objects
+                  replicated to that portion. See the TreeCacheMarshaller section of
+                  the user guide for more details.
+               </para>
+
+               <para>To solve the second kind of issue, the only solution (that we
+                  know of) is to cache "serialized" byte code and only de-serialize it
+                  during every object get (and this will be expensive!). That is,
+                  during a put operation, the object instance will be serialized and
+                  therefore can be deserialized safely by a "foreign" classloader.
+                  However, the performance penalty of this approach is quite severe so
+                  in general another local in-vm version will need to be used as a
+                  "near-line" cache. Note also that each time the serialized bytes are
+                  deserialized, a new instance of the object is created.
+               </para>
+
+               <para>To help with this kind of handling, JBoss has a utility class
+                  called
+                  <literal>MarshalledValue</literal>
+                  that wraps around the
+                  serialized object. Here is a code snippet that illustrates how you
+                  can create a wrapper around JBossCache to handle the classloader
+                  issue:
+               </para>
+
+               <programlisting>import org.jboss.invocation.MarshalledValue;
+
+	public class CacheService {
+	private TreeCache cache_;
+
+	public object get(Fqn fqn, String key) {
+	return getUnMarshalledValue(cache_.get(fqn, key));
+	}
+
+	public object set(Fqn fqn, String key, Object value) {
+	cache_.put(fqn, key, getMarshalledValue(value));
+	return value; // only if successful
+	}
+
+	...
+
+	private Object getUnMarshalledValue(object value) {
+	// assuming we use the calling thread context classloader
+	return ((MarshalledValue)value).get();
+	}
+
+	private Object getMarshalledValue(Object value) {
+	return new MarshalledValue(value);
+	}
+	}
+
+               </programlisting>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a46">
+            <question>
+               <para>Does JBoss Cache currently support pre-event and post-event
+                  notification?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. Starting with release 1.2.4, JBoss Cache has introduced
+                  ExtendedTreeCacheListener which takes in consideration pre and post
+                  event notification. See documentation for more details. Note that
+                  TreeCacheListener and ExtendedTreeCacheListener will be merged into
+                  TreeCacheListener in release 1.3.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a47">
+            <question>
+               <para>How do I implement a custom listener to listen to
+                  <literal>TreeCache</literal>
+                  events?
+               </para>
+            </question>
+
+            <answer>
+               <para>You create a class (myListener) that extends
+                  AbstractTreeCacheListener and provide concrete implementation for
+                  the node events that you are interested in. Then you add this
+                  listener to the TreeCache instance on startup to listen to the
+                  events as they occur by calling
+                  TreeCache.addTreeCacheListener(myListener).
+               </para>
+
+               <programlisting>
+	public class MyListener extends AbstractTreeCacheListener
+	{
+	...
+
+	public void nodeModify(Fqn fqn, boolean pre, boolean isLocal) {
+	if(log.isTraceEnabled()){
+	if(pre)
+	log.trace("Event DataNode about to be modified: " + fqn);
+	else
+	log.trace("Event DataNode modified: " + fqn);
+	}
+	}
+
+	...
+	}
+               </programlisting>
+            </answer>
+         </qandaentry>
+
+         <qandaentry id="a48">
+            <question>
+               <para>Can I use <literal>useRegionBasedMarshalling</literal> attribute in JBoss Cache in order to get
+                  around ClassCastExceptions happening when accessing data in the cache that has just been redeployed?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes, you can. Originally, <literal>TreeCache</literal> Marshalling was designed as a
+                  workaround for those replicated caches that upon state transfer did not have access to the
+                  classloaders defining the objects in the cache.
+               </para>
+
+               <para>On each deployment, JBoss creates a new classloader per the top level deployment artifact, for
+                  example an EAR. You also have to bear in mind that a class in an application server is defined not
+                  only by the class name but also its classloader. So, assuming that the cache is not deployed as part
+                  of your deployment, you could deploy an application and put instances of classes belonging to this
+                  deployment inside the cache. If you did a redeployment and try to do a get operation of the data
+                  previously put, this would result on a ClassCastException. This is because even though the class names
+                  are the same, the class definitions are not. The current classloader is different to the one when
+                  the classes were originally put.
+               </para>
+
+               <para>By enabling marshalling, you can control the lifecycle of the data in the cache and if on
+                  undeployment, you inactivate the region and unregister the classloader that you'd have registered on
+                  deployment, you'd evict the data in the cache locally. That means that in the next deployment, the
+                  data won't be in the cache, therefore avoiding the problem. Obviously, using marshalling to get
+                  around this problem is only recommended when you have some kind of persistence backing where the data
+                  survives, for example using CacheLoaders, or when JBossCache is used as a second level cache in a
+                  persistence framework.  
+               </para>
+
+               <para>To implement this feature, please follow the instructions indicated in the example located
+                  in the TreeCacheMarshaller section of the user's guide. It's worth noting that instead of a
+                  <literal>ServletContextListener</literal>, you could add this code into an <literal>MBean</literal>
+                  that contained lifecycle methods, such as <literal>start()</literal> and <literal>stop()</literal>.
+                  The key would be for this MBean to depend on the target cache, so that it can operate as long as the
+                  cache is up and running.
+               </para>
+            </answer>
+         </qandaentry>
+
+      </qandaset>
+   </chapter>
+   <chapter
+           id="PojoCache">
+      <title>JBoss Cache - Pojo Cache</title>
+      <qandaset>
+
+
+         <qandaentry>
+            <question>
+               <para>What is PojoCache?</para>
+            </question>
+
+            <answer>
+               <para>PojoCache (currently implemented PojoCache as a sub-class of
+                  TreeCache) is a fine-grained field-level replicated and
+                  transactional POJO (plain old Java object) cache. By POJO, we mean
+                  that the cache: 1) automatically manages object mapping and
+                  relationship for a client under both local and replicated cache
+                  mode, 2) provides support for inheritance relationship between
+                  "aspectized" POJOs. By leveraging the dynamic AOP in JBossAop, it is
+                  able to map a complex object into the cache store, preserve and
+                  manage the object relationship behind the scene. During replication
+                  mode, it performs fine-granularity (i.e., on a per-field basis)
+                  update, and thus has the potential to boost cache performance and
+                  minimize network traffic.
+               </para>
+
+               <para>From a user perspective, once your POJO is managed by the
+                  cache, all cache operations are transparent. Therefore, all the
+                  usual in-VM POJO method semantics are still preserved, providing
+                  ease of use. For example, if a POJO has been put in PojoCache (by
+                  calling putObject, for example), then any get/set method will be
+                  intercepted by PojoCache to provide the data from the
+                  cache.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What's the relationship between PojoCache and TreeCacheAop classes?</para>
+            </question>
+
+            <answer>
+               <para>Since release 1.4, we have created a new class called PojoCache (to better reflect the
+                  cache nature). The old implementation TreeCacheAop has been deprecated.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Does PojoCache have all the functional capabilities of
+                  TreeCache?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. PojoCache extends TreeCache so it has all the same
+                  features TreeCache such as cache mode, transaction isolation level,
+                  and eviction policy.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What is the difference between TreeCache and
+                  PojoCache?
+               </para>
+            </question>
+
+            <answer>
+               <para>Think of PojoCache as a TreeCache on steroids. :-)
+                  Seriously, both are cache stores-- one is a generic cache and the other other one POJO Cache.
+                  However, while TreeCache only
+                  provides pure object reference storage (e.g.,
+                  <literal>put(FQN fqn,
+                     Object key, Object value)
+                  </literal>
+                  ), PojoCache goes beyond that
+                  and performs fine-grained field level replication object mapping and
+                  relationship management for a user behind the scenes. As a result,
+                  if you have complex object systems that you would like to cache, you
+                  can have PojoCache manage it for you. You simply treat your
+                  object systems as they are residing in-memory, e.g., use your
+                  regular POJO methods without worrying about cache management.
+                  Furthermore, this is true in replication mode as well.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What are the steps to use the PojoCache feature?</para>
+            </question>
+
+            <answer>
+               <para>Starting from release 1.3, depends on the JDK you use, it has slightly different steps. But in
+                  general,
+                  in order to use PojoCache, you will need to:
+               </para>
+
+               <itemizedlist>
+                  <listitem>
+                     <para>prepare POJO. You can do either via xml declaration or annotation. For annotation, you can
+                        use either the JDK1.4 style or JDK50 one (of which is part of JVM spec). If you use JDK14, you
+                        will
+                        also need
+                        a annotation pre-compiler (annoc) to pre-process it.
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>instrumentation. You will need to instrument your POJO either at compile-time or load-time.
+                        If you do it during compile-time, you use so-called aop pre-compiler (aopc) to do bytecode
+                        manipulation.
+                        If you do it via load-time, however, you need either a special system class loader or, in JDK50,
+                        you can
+                        use the javaagent option.
+                     </para>
+                  </listitem>
+               </itemizedlist>
+               <para>So if you use JDK50, for example, with annotation and load-time instrumentation, then you won't
+                  need
+                  any pre-processing step to use PojoCache. For a full example, please refer to the distro examples
+                  directory.
+                  There are numerous PojoCache examples that uses different options.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can I run PojoCache in JBoss AS 3.2.x application
+                  server?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes and no. Yes, since JBossAop can also be back-ported to
+                  3.2.x (see JBossAop wiki for details). However, it will take some
+                  effort. Therefore, the recommended JBoss version is 4.x to run
+                  PojoCache.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can PojoCache run as a MBean as well?</para>
+            </question>
+
+            <answer>
+               <para>Yes. It is almost the same as TreeCache MBean. The only
+                  difference is the object name and the class name. E.g., instead
+                  of
+                  <programlisting>&lt;mbean code="org.jboss.cache.TreeCache"
+                     name="jboss.cache:service=TreeCache"&gt;</programlisting>
+                  you will have:
+                  <programlisting>&lt;mbean code="org.jboss.cache.aop.PojoCache"
+                     name="jboss.cache:service=PojoCache"&gt;</programlisting>
+                  in the xml configuration file.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can I pre-compile the aop classes such that I don't need to
+                  use the system classloader and jboss-aop configuration xml?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. The latest versions of JBossCache have a pre-compiler
+                  option called
+                  <literal>aopc</literal>
+                  . You can use this option to
+                  pre-compile your "aspectized" POJO. Once the classes have been byte
+                  code generated, they can be treated as regular class files, i.e.,
+                  you will not need to include any
+                  <literal>jboss-aop.xml</literal>
+                  that specifies the advisable POJO and to specify the JBossAop system
+                  class loader.
+               </para>
+
+               <para>For an example of how to use
+                  <literal>aopc</literal>
+                  , please
+                  see 1)
+                  <literal>tools</literal>
+                  directory for PojoCacheTasks14.xml
+                  and PojoCacheTasks50.xml. Both contain Ant tasks that you can
+                  import to your regular project for
+                  <literal>annoc</literal>
+                  and
+                  <literal>aopc</literal>
+                  . In addition, please also check out the
+                  <literal>examples</literal>
+                  directory for concrete examples.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>How do I use aopc on multiple module directories?</para>
+            </question>
+
+            <answer>
+               <para>In aopc, you specify the src path for a specific directory. To
+                  pre-compile multiple ones, you will need to invoke aopc multiple
+                  times.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What's in the
+                  <literal>jboss-aop.xml</literal>
+                  configuration?
+               </para>
+            </question>
+
+            <answer>
+               <para>
+                  <literal>jboss-aop.xml</literal>
+                  is needed for POJO
+                  instrumentation. In
+                  <literal>jboss-aop.xml</literal>
+                  , you can
+                  declare your POJO (e.g.,
+                  <literal>Person</literal>
+                  ) to be
+                  "prepared", a JBossAop term to denote that the object will be
+                  "aspectized" by the system. After this declaration, JBossAop will
+                  invoke any interceptor that associates with this POJO. PojoCache
+                  will dynamically add an
+                  <literal>org.jboss.cache.aop.CacheInterceptor</literal>
+                  to this POJO
+                  to perform object mapping and relationship management.
+               </para>
+
+               <para>Note that to add your POJO, you should declare all the fields
+                  to be "prepared" as in the example.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can I use annotation instead of the xml declaration?</para>
+            </question>
+
+            <answer>
+               <para>Yes, starting with JBossCache 1.3, you can use annotation to
+                  instrument your POJO for both JDK1.4 and 1.5. Check the documentation for details.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What are the pro and con of xml vs. annotation?</para>
+            </question>
+
+            <answer>
+               <para>It really depends on your organization environment, I'd say, since this can be turned into a
+                  hot debate. Having said that, I feel strongly that POJO annotation is well suited for PojoCache. This
+                  is
+                  because once you specify the annotation, you'd probably change it rarely since there is no parameters
+                  to
+                  tune, for example.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What are the
+                  <literal>@org.jboss.cache.aop.annotation.Transient</literal>
+                  and
+                  <literal>@org.jboss.cache.aop.annotation.Serializable</literal>
+                  field level annotations?
+               </para>
+            </question>
+
+            <answer>
+               <para>Starting in 1.4, we also offer two additional field-level annotations. The first one,
+                  <literal>@Transient</literal>
+                  ,
+                  when applied has the same effect as declaring a field
+                  <literal>transient</literal>
+                  . PojoCache
+                  won't put this field under management.
+               </para>
+               <para>The second one,
+                  <literal>@Serializable</literal>
+                  when applied, will cause PojoCache to
+                  treat the field as a Serializable object even when it is
+                  <literal>@PojoCacheable</literal>
+                  .
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What about compile-time vs. load-time instrumentation then?</para>
+            </question>
+
+            <answer>
+               <para>Again it depends. But my preference is to do compile-time instrumentation via aopc. I prefer this
+                  approach because it is easier to debug (at least at the development stage). In addition, once I
+                  generate
+                  the
+                  new class, there is no more steps needed.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Is it possible to store the same object multiple times but
+                  with different Fqn paths? Like /foo/byName and /foo/byId ?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes, you can use PojoCache to do that. It supports the
+                  notion of object reference. PojoCache manages the unique object
+                  through association of the dynamic cache interceptor.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Do I need to declare all my objects "prepared" in
+                  <literal>jboss-aop.xml</literal>
+                  ?
+               </para>
+            </question>
+
+            <answer>
+               <para>Not necessarily. If there is an object that you don't need the
+                  cache to manage for you, you can leave it out of the declaration.
+                  The cache will treat this object as a "primitive" type. However, the
+                  object will need to implement
+                  <literal>Serializable</literal>
+                  interface for replication.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can the cache aop intercept update via reflection?</para>
+            </question>
+
+            <answer>
+               <para>No. The update via reflection will not be intercepted in
+                  JBossAop and therefore PojoCache will not be able to perform the
+                  necessary synchronization.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>When I declare my POJO to be "aspectized", what happens to the
+                  fields with transient, static, and final modifiers?
+               </para>
+            </question>
+
+            <answer>
+               <para>PojoCache currently will ignore the fields with these
+                  modifiers. That is, it won't put these fields into the cache (and
+                  thus no replication either).
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What are those keys such as
+                  <literal>JBoss:internal:class</literal>
+                  and
+                  <literal>AOPInstance</literal>
+                  ?
+               </para>
+            </question>
+
+            <answer>
+               <para>They are for internal use only. Users should ignore these keys
+                  and values in the node hashmap.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What about Collection classes? Do I need to declare them
+                  "prepared"?
+               </para>
+            </question>
+
+            <answer>
+               <para>No. Since the Collection classes such as
+                  <literal>ArrayList</literal>
+                  are java util classes, aop by default
+                  won't instrument these classes. Instead, PojoCache will generate
+                  a dynamic class proxy for the Collection classes (upon the
+                  <literal>putObject</literal>
+                  call is invoked). The proxy will
+                  delegate the operations to a cache interceptor that implements the
+                  actual Collection classes APIs. That is, the system classes won't be
+                  invoked when used in PojoCache.
+               </para>
+
+               <para>Internally, the cache interceptor implements the APIs by
+                  direct interaction with respect to the underlying cache store. Note
+                  that this can have implications in performance for certain APIs. For
+                  example, both
+                  <literal>ArrayList</literal>
+                  and
+                  <literal>LinkedList</literal>
+                  will have the same implementation.
+                  Plan is currently underway to optimize these APIs.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>How do I use
+                  <literal>List</literal>
+                  ,
+                  <literal>Set</literal>
+                  ,
+                  and
+                  <literal>Map</literal>
+                  dynamic proxy?
+               </para>
+            </question>
+
+            <answer>
+               <para>PojoCache supports classes extending from
+                  <literal>List</literal>
+                  ,
+                  <literal>Set</literal>
+                  , and
+                  <literal>Map</literal>
+                  without users to declare them "aspectized".
+                  It is done via a dynamic proxy. Here is a code snippet to use an
+                  <literal>ArrayList</literal>
+                  proxy class.
+               </para>
+
+               <programlisting>ArrayList list = new ArrayList();
+	list.add("first");
+
+	cache.putObject("/list/test", list); 
+	// Put the list under the aop cache
+	list.add("second"); 
+	// Won't work since AOP intercepts the dynamic proxy not the original POJO.
+
+	ArrayList myList = (List)cache.getObject("/list/test"); 
+	// we are getting a dynamic proxy instead
+	myList.add("second"); 
+	// it works now
+	myList.add("third");
+	myList.remove("third");
+               </programlisting>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What is the proper way of assigning two different keys with
+                  Collection class object?
+               </para>
+            </question>
+
+            <answer>
+               <para>Let's say you want to assign a
+                  <literal>List</literal>
+                  object
+                  under two different names, you will need to use the class proxy to
+                  insert the second time to ensure both are managed by the cache. Here
+                  is the code snippet.
+               </para>
+
+               <programlisting>ArrayList list = new ArrayList();
+	list.add("first");
+
+	cache.putObject("/list", list); 
+	// Put the list under the aop cache
+
+	ArrayList myList = (List)cache.getObject("/list"); 
+	// we are getting a dynamic proxy instead
+	myList.add("second"); 
+	// it works now
+
+	cache.putObject("/list_alias", myList); 
+	// Note you will need to use the proxy here!!
+	myList.remove("second");
+               </programlisting>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>OK, so I know I am supposed to use proxy when manipulating the
+                  Collection classes once they are managed by the cache. But what
+                  happens to Pojos that share the Collection objects, e.g., a
+                  <literal>List</literal>
+                  instance that is shared by 2 Pojos?
+               </para>
+            </question>
+
+            <answer>
+               <para>Pojos that share Collection instance references will be
+                  handled by the cache automatically. That is, when you ask the Cache
+                  to manage it, the Cache will dynamically swap out the regular
+                  Collection references with the dynamic proxy ones. As a result, it
+                  is transparent to the users.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What happens when my "aspectized" POJO has field members that
+                  are of Collection class ?
+               </para>
+            </question>
+
+            <answer>
+               <para>When a user puts a POJO into the cache through the call
+                  <literal>putObject</literal>
+                  , it will recursively map the field
+                  members into the cache store as well. When the field member is of a
+                  Collection class (e.g., List, Set, or Map), PojoCache will first
+                  map the collection into cache. Then, it will swap out dynamically
+                  the field reference with an corresponding proxy reference.
+               </para>
+
+               <para>This is necessary so that an internal update on the field
+                  member will be intercepted by the cache.
+               </para>
+            </answer>
+         </qandaentry>
+
+
+         <qandaentry>
+            <question>
+               <para>What are the limitation of Collection classes in PojoCache?</para>
+            </question>
+
+            <answer>
+               <para>Use of Collection class in PojoCache helps you to track fine-grained changes
+                  in your collection fields automatically. However, current implementation has the follow
+                  limitation that we plan to address soon.
+               </para>
+               <para>Currently, we only support a limited implementation of Collection classes. That is,
+                  we support APIs in List, Set, and Map. However, since the APIs do not stipulate
+                  of constraints like NULL key or value, it makes mapping of user instance to our proxy tricky.
+                  For example, ArrayList would allow NULL value and some other implementation would not.
+                  The Set interface maps to java.util.HashSet implementation. The List interface maps
+                  to java.util.ArrayList implementation. The Map interface maps to java.util.HashMap
+                  implementation.
+               </para>
+               <para>Another related issue is the expected performance. For example, the current implementation is
+                  ordered,
+                  so
+                  that makes insert/delete from the Collection slow. Performance between Set, Map and List collections
+                  also
+                  vary.
+                  Adding items to a Set is slower than a List or Map, since Set does not allow duplicate entries.
+               </para>
+            </answer>
+         </qandaentry>
+
+
+         <qandaentry>
+            <question>
+               <para>What are the pros and cons of PojoCache?</para>
+            </question>
+
+            <answer>
+               <para>As mentioned in the reference doc, PojoCache has the following advantages:</para>
+               <itemizedlist>
+                  <listitem>
+                     <para>Fine-grained replication and/or persistency. If you use a distributed PojoCache
+                        and once your POJO is put in the cache store, there is no need to use another API to
+                        trigger your changes. Furthermore, the replication are fine-grained field level. Note this
+                        also applies to persistency.
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>Fine-grained replication can have potential performance gain if your POJO is big and
+                        the changes are fine-grained, e.g., only to some selected fields.
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>POJO can posses object relationship, e.g., multiple referenced. Distributed
+                        PojoCache will handle this transparently for you.
+                     </para>
+                  </listitem>
+               </itemizedlist>
+               <para>And here are some cases that you may not want to use PojoCache:</para>
+               <itemizedlist>
+                  <listitem>
+                     <para>You use only cache. That is you don't need replication or persistency. Then since
+                        everything is operated on the in-memory POJO reference, there is no need for PojoCache.
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>You have simple and small POJOs. Your POJO is small in size and also there is no
+                        object relationship, then PojoCache possess not clear advantage to plain cache.
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>Your application is bounded by memory usage. Because PojoCache need almost twice as much
+                        of memory (the original POJO in-memory space and also the additional cache store for the
+                        primitive fields), you may not want to use PojoCache.
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>Your POJO lifetime is short. That is, you need to create and destroy your POJO often.
+                        Then you need to do "pubObject" and "removeObject" often, it will be slow in performance.
+                     </para>
+                  </listitem>
+               </itemizedlist>
+            </answer>
+         </qandaentry>
+      </qandaset>
+   </chapter>
+   <chapter id="eviction">
+      <title>Eviction Policies</title>
+
+      <qandaset>
+
+
+         <qandaentry>
+            <question>
+               <para>Does JBoss Cache support eviction policies?</para>
+            </question>
+
+            <answer>
+               <para>Yes. JBoss Cache currently implements a LRU eviction policy for
+                  both TreeCache
+                  (
+                  <literal>org.jboss.cache.eviction.LRUPolicy</literal>
+                  ) and
+                  PojoCache
+                  (
+                  <literal>org.jboss.cache.aop.eviction.AopLRUPolicy</literal>
+                  ). Users
+                  can also plug in their own eviction policy algorithms. See user
+                  manual for details. Currently there is user-contributed policy
+                  called
+                  <literal>FIFOPolicy</literal>
+                  that evicts the node based on
+                  FIFO principle only.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Why can't I use
+                  <literal>org.jboss.cache.eviction.LRUPolicy</literal>
+                  for
+                  PojoCache as well?
+               </para>
+            </question>
+
+            <answer>
+               <para>For PojoCache, you will need to use
+                  <literal>org.jboss.cache.aop.eviction.AopLRUPolicy</literal>
+                  ) because
+                  AOP has its eviction algorithm, although is LRU but has totally
+                  different notion of an "object", for example.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Does JBoss Cache's implemented LRU eviction policy operates in
+                  replication mode?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes and no. :-)</para>
+
+               <para>The LRU policy only operates in local mode. That is, nodes are
+                  only evicted locally. This may cause the cache contents not to be
+                  synchronized temporarily. But when a user tries to obtain the cached
+                  contents of an evicted node and finds out that is null (e.g.,
+                  <literal>get</literal>
+                  returns null), it should get it from the
+                  other data source and re-populate the data in the cache. During this
+                  moment, the node content will be propagated and the cache content
+                  will be in sync.
+               </para>
+
+               <para>However, you still can run eviction policies with cache mode
+                  set to either
+                  <literal>REPL_SYNC</literal>
+                  or
+                  <literal>REPL_ASYNC</literal>
+                  . Depending on your use case, you can
+                  set multiple cache instances to have their own eviction policy
+                  (which are applied locally) or just have selected instances with
+                  eviction policies activated.
+               </para>
+
+               <para>Also note that, with cache loader option, a locally evicted
+                  node can also be persisted to the backend store and a user can
+                  retrieve it from the store later on.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Does JBoss Cache support
+                  <literal>Region</literal>
+                  ?
+               </para>
+            </question>
+
+            <answer>
+               <para>Yes. JBoss Cache has the notion of region where a user can
+                  configure the eviction policy parameters (e.g.,
+                  <literal>maxNodes</literal>
+                  or
+                  <literal>timeToIdleSeconds</literal>
+                  )
+               </para>
+
+               <para>A region in JBoss Cache denotes a portion of tree hierarchy,
+                  e.g., a fully qualified name (
+                  <literal>FQN</literal>
+                  ). For example,
+                  a user can define
+                  <literal>/org/jboss</literal>
+                  and
+                  <literal>/org/foocom</literal>
+                  as two separate regions. But note
+                  that you can configure the region programmatically now, i.e.,
+                  everything has to be configured through the xml file.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What are the
+                  <literal>EvictionPolicyConfig</literal>
+                  tag
+                  parameters for
+                  <literal>org.jboss.cache.eviction.LRUPolicy</literal>
+                  ?
+               </para>
+            </question>
+
+            <answer>
+               <para>They are:</para>
+
+
+               <table>
+                  <title>Parameters</title>
+
+                  <tgroup cols="2">
+                     <tbody>
+                        <row>
+                           <entry>wakeUpIntervalInSeconds</entry>
+
+                           <entry>Interval where the clean up thread wakes to process
+                              the sitting queue and sweep away the old data.
+                           </entry>
+                        </row>
+
+                        <row>
+                           <entry>region</entry>
+
+                           <entry>A area where each eviction policy parameters are
+                              specified. Note that it needs a minimum of
+                              <literal>/_default</literal>
+                              region.
+                           </entry>
+                        </row>
+
+                        <row>
+                           <entry>maxNodes</entry>
+
+                           <entry>Max number of nodes allowed in the eviction queue. 0
+                              means no limit.
+                           </entry>
+                        </row>
+
+                        <row>
+                           <entry>timeToLiveInSeconds</entry>
+
+                           <entry>Age (in seconds) for the node to be evicted in the
+                              queue. 0 denotes no limit.
+                           </entry>
+                        </row>
+                     </tbody>
+                  </tgroup>
+               </table>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>I have turned on the eviction policy, why do I still get "out
+                  of memory" (OOM) exception?
+               </para>
+            </question>
+
+            <answer>
+               <para>OOM can happen when the speed of cache access exceeds the
+                  speed of eviction policy handling timer. Eviction policy handler
+                  will wake up every
+                  <literal>wakeUpIntervalInSeconds</literal>
+                  seconds to process the eviction event queue. And the queue size is
+                  fixed at 20000 now. So when the queue size is full, it will create a
+                  backlog and cause OOM to happen unless the eviction timer catches
+                  up. To address this problem, in addition to increase the VM heap
+                  size, you can also reduce the
+                  <literal>wakeUpIntervaleInSeconds</literal>
+                  so the timer thread
+                  processes the queue more frequently.
+               </para>
+
+               <para>We will also externalize the queue size so it will be
+                  configurable in the next release.
+               </para>
+            </answer>
+         </qandaentry>
+      </qandaset>
+   </chapter>
+   <chapter id="cacheloaders">
+      <title>Cache Loaders</title>
+
+      <qandaset>
+
+
+         <qandaentry>
+            <question>
+               <para>What is a CacheLoader?</para>
+            </question>
+
+            <answer>
+               <para>A CacheLoader is the connection of JBossCache to a
+                  (persistent) data store. The CacheLoader is called by JBossCache to
+                  fetch data from a store when that data is not in the cache, and when
+                  modifications are made to data in the cache the CacheLoader is
+                  called to store those modifications back to the store.
+               </para>
+
+               <para>In conjunction with eviction policies, JBossCache with a
+                  CacheLoader allows a user to maintain a bounded cache for a large
+                  backend datastore. Frequently used data is fetched from the
+                  datastore into the cache, and the least used data is evicted, in
+                  order to provide fast access to frequently accessed data. This is
+                  all configured through XML, and the programmer doesn't have to take
+                  care of loading and eviction.
+               </para>
+
+               <para>JBossCache currently ships with several CacheLoader
+                  implementations, including:
+               </para>
+
+               <para>
+                  <itemizedlist>
+                     <listitem>
+                        <para>FileCacheLoader: this implementation uses the file
+                           system to store and retrieve data. JBossCache nodes are mapped
+                           to directories, subnodes to subdirectories etc. Attributes of
+                           a node are mapped to a file
+                           <literal>data</literal>
+                           inside the
+                           directory.
+                        </para>
+                     </listitem>
+
+                     <listitem>
+                        <para>BdbjeCacheLoader: this implementation is based on the
+                           Sleepycat Java Edition database, a fast and efficient
+                           transactional database. It uses a single file for the entire
+                           store. Note that if you use Sleepycat's CacheLoader with
+                           JBoss Cache and wish to ship your product, you will have to acquire a
+                           <ulink url="http://www.sleepycat.com/jeforjbosscache">commercial license from Sleepycat
+                           </ulink>
+                           .
+                        </para>
+                     </listitem>
+
+                     <listitem>
+                        <para>JDBCCacheLoader: this implementation uses the relational database as the persistent
+                           storage.
+                        </para>
+                     </listitem>
+
+                     <listitem>
+                        <para>ClusteredCacheLoader: this implementation queries the rest of the cluster, treating other
+                           servers' in-memory state as a data store.
+                        </para>
+                     </listitem>
+
+                     <listitem>
+                        <para>And more. See the documentation for more details.</para>
+                     </listitem>
+                  </itemizedlist>
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can writing to CacheLoaders be asynchronous?</para>
+            </question>
+
+            <answer>
+               <para>As of JBossCache 1.2.4, yes. Set the CacheLoaderAsynchronous
+                  property to true. See the JBossCache documentation for a more
+                  detailed discussion. By default though, all cache loader writes are
+                  synchronous and will block.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can I write my own CacheLoader ?</para>
+            </question>
+
+            <answer>
+               <para>Yes. A CacheLoader is a class implementing
+                  <literal>org.jboss.cache.loader.CacheLoader</literal>
+                  . It is
+                  configured via the XML file (see JBossCache and Tutorial
+                  documentation).
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Does a CacheLoader have to use a persistent store ?</para>
+            </question>
+
+            <answer>
+               <para>No, a CacheLoader could for example fetch (and possibly store)
+                  its data from a webdav-capable webserver. Another example is a
+                  caching proxy server, which fetches contents from the web. Note that
+                  an implementation of CacheLoader may not implement the 'store'
+                  functionality in this case, but just the 'load'
+                  functionality.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>What can I use a CacheLoader for?</para>
+            </question>
+
+            <answer>
+               <para>Some applications:</para>
+
+               <para>
+                  <itemizedlist>
+                     <listitem>
+                        <para>HTTP sessions can be persisted (besides being replicated
+                           by JBossCache). The CacheLoader can be configured to be
+                           shared, or unshared, meaning that every node in a cluster has
+                           its own local store. It is also possible to attach a
+                           CacheLoader to just
+                           <emphasis>one</emphasis>
+                           of the
+                           nodes.
+                        </para>
+                     </listitem>
+
+                     <listitem>
+                        <para>Simple persistence for POJOs. Use of JBossCache aop and
+                           a local CacheLoader persist POJOs transparently into the store
+                           provided by the CacheLoader.
+                        </para>
+                     </listitem>
+
+                     <listitem>
+                        <para>Highly available replicated and persisted data store.
+                           The service is up as long as at least 1 node is running, but
+                           even if all nodes are taken offline, when the first node is
+                           started again, the data previously saved will still be
+                           available (e.g. a shopping cart).
+                        </para>
+                     </listitem>
+
+                     <listitem>
+                        <para>A caching web proxy (a la Squid): all data are contents
+                           of URLs, users access the proxy, and if the URL is not in the
+                           cache, the CacheLoader fetches it from the web. This could
+                           actually be a replicated and transactional version of
+                           Squid.
+                        </para>
+                     </listitem>
+                  </itemizedlist>
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>How do I configure JBossCache with a CacheLoader?</para>
+            </question>
+
+            <answer>
+               <para>Through XML: both the fully-qualified classname of the
+                  CacheLoader and its configuration string have to be given.
+                  JBossCache will then instantiate a CacheLoader. See JBossCache
+                  documentation for details.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Do I have to pay to use Sleepycat's CacheLoader?</para>
+            </question>
+
+            <answer>
+               <para>Not if you use it only for personal use. As soon as you
+                  distribute your product with BdbjeCacheLoader, you have to purchase
+                  a commercial license from Sleepycat. See details at
+                  <ulink
+                          url="http://www.sleepycat.com/jeforjbosscache">http://www.sleepycat.com/jeforjbosscache
+                  </ulink>
+                  .
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Can I use more than one cache loader?</para>
+            </question>
+
+            <answer>
+               <para>As of JBossCache 1.3.0, yes. With the new CacheLoaderConfiguration XML
+                  element (see user manual section on cache loaders) you can now
+                  describe several cache loaders. The impact is that the cache will
+                  look at all of the cache loaders in the order they've been
+                  configured, until it finds a valid, non-null element of data. When
+                  performing writes, all cache loaders are written to (except if the
+                  ignoreModifications element has been set to true for a specific
+                  cache loader.
+               </para>
+            </answer>
+         </qandaentry>
+
+         <qandaentry>
+            <question>
+               <para>Why do cache loaders go into an inconsistent state when I use transactions, pessimistic locking,
+                  and I
+                  attempt to read a node after removing it from within the same transaction scope?
+               </para>
+            </question>
+
+            <answer>
+               <para>This is a known bug (see
+                  <ulink url="http://jira.jboss.com/jira/browse/JBCACHE-477">JBCACHE-477</ulink>
+                  and
+                  <ulink url="http://jira.jboss.com/jira/browse/JBCACHE-352">JBCACHE-352</ulink>
+                  ), which have been fixed in JBoss Cache 1.4.0. A very simple workaround if you're using JBoss Cache
+                  1.3.x
+                  is to use optimistic locking.
+               </para>
+               <para>
+                  One of the consequences of this bug is that, for example, if you use PojoCache with pojos that have
+                  private references to a List and you update and remove someelements of that List within a transaction
+                  (when using pessimistic locking and a cache loader), you may see IllegalStateExceptions thrown.
+               </para>
+            </answer>
+         </qandaentry>
+
+
+      </qandaset>
+   </chapter>
+   <chapter id="troubleshooting">
+      <title>Troubleshooting</title>
+      <qandaset>
+
+         <qandaentry>
+            <question>
+               <para>I am having problems getting JBoss Cache to work, where can I get information on troubleshooting?
+               </para>
+            </question>
+            <answer>
+               <para>Troubleshooting section can be found in the following
+                  <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheTroubleshooting">wiki link</ulink>
+                  .
+               </para>
+            </answer>
+         </qandaentry>
+      </qandaset>
+   </chapter>
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
+
+</book>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Api.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Api.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Api.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="API">
 	<title>API</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Appendix.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Appendix.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Appendix.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Appendix">
 	<title>Appendix</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Architecture.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Architecture.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Architecture.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Architecture">
 	<title>Architecture</title>
@@ -13,7 +8,7 @@
 	</para>
 	<sect1 id="Architecture-Dynamic_AOP_interception"><title>Dynamic AOP interception</title>
 	<para>
-		JBossAop provides an API (<literal>appendInterceptor</literal>) to add an interceptor at runtime. PojoCache uses this feature extensively to provide user transparency. Every Aspect-Oreinted Programming (AOP) created POJO class will have an associated <literal>org.jboss.aop.InstanceAdvisor</literal> instance. During a <literal>putObject(FQN fqn, Object pojo)</literal> operation (API explained below), PojoCache will examine to see if there is already a <literal>org.jboss.cache.aop.CacheInterceptor</literal> attached. (Note that a <literal>CacheInterceptor</literal> is the entrance of PojoCache to dynamically manage cache contents.) If it has not, one will be added to <literal>InstanceAdvisor</literal> object. Afterward, any POJO field modification will invoke the corresponding <literal>CacheInterceptor</literal> instance. Below is a schematic illustration of this process. 
+		JBossAop provides an API (<literal>appendInterceptor</literal>) to add an interceptor at runtime. PojoCache uses this feature extensively to provide user transparency. Every "aspectized" POJO class will have an associated <literal>org.jboss.aop.InstanceAdvisor</literal> instance. During a <literal>putObject(FQN fqn, Object pojo)</literal> operation (API explained below), PojoCache will examine to see if there is already a <literal>org.jboss.cache.aop.CacheInterceptor</literal> attached. (Note that a <literal>CacheInterceptor</literal> is the entrance of PojoCache to dynamically manage cache contents.) If it has not, one will be added to <literal>InstanceAdvisor</literal> object. Afterward, any POJO field modification will invoke the corresponding <literal>CacheInterceptor</literal> instance. Below is a schematic illustration of this process. 
 	</para>
 	<para>
 		JBossAop has the capability to intercept both method level call and field level read write. From the perspective of PojoCache, field level interception is the appropriate mechanism to synchronize with the backend cache store. Please note that, <itemizedlist>
@@ -134,12 +129,12 @@
 
 tree.startService(); // kick start tree cache
 tree.putObject("/aop/joe", joe); // add aop sanctioned object (and sub-objects) into cache.
-// since it is created using AOP, use of plain get/set methods will take care
+// since it is aspectized, use of plain get/set methods will take care
 // of cache contents automatically.
 joe.setAge(41);
 </programlisting>
 	<para>
-		Note that a typical <literal>PojoCache</literal> usage involves instantiating the <literal>PojoCache</literal> , configuring, and starting the cache instance. Then, a user creates the AOP POJO that will be put into the cache using <literal>putObject()</literal> API. 
+		Note that a typical <literal>PojoCache</literal> usage involves instantiating the <literal>PojoCache</literal> , configuring, and starting the cache instance. Then, a user creates the aspectized POJO that will be put into the cache using <literal>putObject()</literal> API. 
 	</para>
 	<para>
 		In addition, PojoCache also supports get/set with parameter type of some <literal>Collection</literal> classes (i.e., <literal>List</literal> , <literal>Map</literal> , and <literal>Set</literal> ) automatically. For example, the following code snippet in addition to the above example will trigger PojoCache to manage the states for the <literal>Languages</literal> list as well. The following figure illustrates the node structure from the replicated GUI point of view. Details of Collection class support will be given later. 
@@ -270,7 +265,7 @@
 </programlisting>
 	</sect1><sect1 id="Architecture-Collection_class_proxy"><title>Collection class proxy</title>
 	<para>
-		The POJO classes that inherit from <literal>Set</literal> , <literal>List</literal> , and <literal>Map</literal> are treated as AOP created automatically. That is, users need not declare them "prepared" in the xml configuration file or via annotation. Since we are not allowed to instrument the Java system library, we will use a proxy approach instead. That is, when we encounter any Collection instance, we will: <itemizedlist>
+		The POJO classes that inherit from <literal>Set</literal> , <literal>List</literal> , and <literal>Map</literal> are treated as "aspectized" automatically. That is, users need not declare them "prepared" in the xml configuration file or via annotation. Since we are not allowed to instrument the Java system library, we will use a proxy approach instead. That is, when we encounter any Collection instance, we will: <itemizedlist>
 			<listitem>
 				<para>Create a Collection proxy instance and place it in the cache (instead of the original reference). The mapping of the Collection elements will still be carried out recursively as expected.</para> 
 			</listitem>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,38 +1,26 @@
 <?xml version='1.0'?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <bookinfo id="Pojo_Cache">
-	<title>Pojo Cache Guide</title>
-	<subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+	<title>JBoss Cache Pojo Cache Guide CP05</title>
+	<subtitle>for Use with JBoss Enterprise Application Platform 4.2 CP05</subtitle>
 	<edition>1.0</edition>
-	<pubsnumber>6</pubsnumber>
-	<productname>JBoss Cache</productname>
-	<productnumber>4.2.5</productnumber>
+	<pubsnumber>1</pubsnumber>
+	<productname>JBoss Enterprise Application Platform</productname>
+	<productnumber>4.2</productnumber>
 	<abstract>
 		<para>
 			This book is a User Guide for Pojo Cache
 		</para>
 	</abstract>
 	<isbn>N/A</isbn>
-	<mediaobject>
+	<corpauthor>
+	  <inlinemediaobject>
 		<imageobject>
-			<imagedata fileref="Common_Content/images/rhlogo-chapter-title.png" />
-		</imageobject>
-	</mediaobject>
-	<publisher>
-		<publishername>
-			<inlinemediaobject>
-				<imageobject>
-					<imagedata fileref="Common_Content/images/rhlogo-title.png" />
-				</imageobject>
-			</inlinemediaobject>
-		</publishername>
-	</publisher>
+			 <imagedata fileref="Common_Content/images/redhat-logo.svg" />
+		 </imageobject>
+	  </inlinemediaobject>
+	</corpauthor>
 	<copyright>
 		<year>&YEAR;</year>
 		<holder>&HOLDER;</holder>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Colophon.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Colophon.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Colophon.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <bibliography id="Bibliography"><title>Bibliography</title>
 <bibliodiv id="Bibliography-Authors"><title>Authors</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Configuration.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Configuration.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Configuration.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Configuration">
 	<title>Configuration</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Example.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Example.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Example.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Example">
 	<title>Example</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Instrumentation.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Instrumentation.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Instrumentation.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Instrumentation">
 	<title>Instrumentation</title>
@@ -34,7 +29,7 @@
 &lt;/aop&gt;
 </programlisting>
 	<para>
-		Detailed semantics of <literal>jboss-aop.xml</literal> can again be found in JBossAop. But above statements basically declare all field read and write operations in classes <code>Address</code> and <code>Person</code> will be "prepared" (or created using AOP). Note that: 
+		Detailed semantics of <literal>jboss-aop.xml</literal> can again be found in JBossAop. But above statements basically declare all field read and write operations in classes <code>Address</code> and <code>Person</code> will be "prepared" (or "aspectized"). Note that: 
 	</para>
 	<itemizedlist>
 		<listitem>
@@ -44,7 +39,7 @@
 			<para>You can potentially replace specific class name with wildcard that includes all the POJOs inside the same package space</para> 
 		</listitem>
 		<listitem>
-			<para>The <code>instanceof</code> operator declares any sub-type or sub-class of the specific POJO will also be created using AOP. For example, if a <code>Student</code> class is a subclass of <code>Person</code> , JBossAop will automatically instrument it as well!</para> 
+			<para>The <code>instanceof</code> operator declares any sub-type or sub-class of the specific POJO will also be "aspectized". For example, if a <code>Student</code> class is a subclass of <code>Person</code> , JBossAop will automatically instrument it as well!</para> 
 		</listitem>
 		<listitem>
 			<para>We intercept the field of all access levels (i.e., <literal>private</literal> , <literal>protected</literal> , <literal>public</literal> , etc.) The main reason being that we consider all fields as stateful data. However, we can relax this requirement in the future if there is a use case for it.</para> 
@@ -72,7 +67,7 @@
   		&lt;prepare expr="field(* &#36;instanceof{@@org.jboss.cache.aop.InstanceOfAopMarker}-&gt;*)" /&gt;
 		&lt;/aop&gt;
 		</programlisting>
-		 Basically, it simply states that any annotation with both marker interfaces will be coded using AOP accordingly. 
+		 Basically, it simply states that any annotation with both marker interfaces will be "aspectized" accordingly. 
 	</para>
 	<para>
 		Here is two code snippets that illustrate the declaration of both types through 1.4 style annotation:

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Introduction.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Introduction.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Introduction.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Introduction">
 	<title>Introduction</title>
@@ -108,12 +103,12 @@
 		</listitem>
 		<listitem>
 			<para>
-				Inheritance relationship. PojoCache preserves the POJO inheritance hierarchy after the object item is stored in the cache. For example, if a <literal>Student</literal> class inherits from a <keycode>Person</keycode> class, once a <literal>Student</literal> object is mapped to PojoCache (e.g., <literal>putObject</literal> call), the attributes in base class <literal>Person</literal> is coded using Aspect-Oriented Programming (AOP) as well. 
+				Inheritance relationship. PojoCache preserves the POJO inheritance hierarchy after the object item is stored in the cache. For example, if a <literal>Student</literal> class inherits from a <keycode>Person</keycode> class, once a <literal>Student</literal> object is mapped to PojoCache (e.g., <literal>putObject</literal> call), the attributes in base class <literal>Person</literal> is "aspectized" as well. 
 			</para>
 		</listitem>
 		<listitem>
 			<para>
-				Support Collection classes (e.g., List, Set, and Map based objects) automatically without declaring them as aop-enabled. That is, you can use them either as a plain POJO or a sub-object to POJO without declaring them as coded using AOP. In addition, it supports runtime swapping of the proxy reference as well.
+				Support Collection classes (e.g., List, Set, and Map based objects) automatically without declaring them as aop-enabled. That is, you can use them either as a plain POJO or a sub-object to POJO without declaring them as "aspectized". In addition, it supports runtime swapping of the proxy reference as well.
 			</para>
 		</listitem>
 		<listitem>

Added: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.ent	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,3 @@
+<!ENTITY HOLDER "Red Hat, Inc">
+<!ENTITY YEAR "2008">
+<!ENTITY VERSION "">

Added: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.xml	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/JBoss_Cache_Pojo_Cache_Guide_CP05.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,45 @@
+<?xml version='1.0'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+
+<book>
+	<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<toc></toc><preface id="Preface" revision="1"><title>Preface</title>
+	<para>
+		PojoCache is an in-memomy, transactional, and replicated POJO (plain old Java object) cache system that allows users to operate on a POJO transparently without active user management of either replication or persistency aspects. PojoCache, a component of JBossCache (uses PojoCache class as an internal implementation, the old implementation TreeCacheAop has been deprecated.), is the first in the market to provide a POJO cache functionality. JBossCache by itself is a 100&#37; Java based library that can be run either as a standalone program or inside an application server. 
+	</para>
+	<para>
+		This document is meant to be a user guide to explain the architecture, api, configuration, and examples for PojoCache. We assume the readers are familiar with both JGroups and TreeCache usages. Since PojoCache uses JBossAop framework, an introduction will also be given there. 
+	</para>
+	<para>
+		If you have questions, use the user <ulink url="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=157">forum</ulink> linked on the JBossCache website. We also provide tracking links for tracking bug reports and feature requests on <ulink url="http://jira.jboss.com">JBoss Jira web site</ulink> . If you are interested in the development of PojoCache, post a message on the forum. If you are interested in translating this documentation into your language, contact us on the developer mailing list. 
+	</para>
+	<para>
+		JBossCache is an open-source product based on LGPL. Commercial development support, production support and training for JBoss Cache is available through JBoss Inc. (see <ulink url="http://www.jboss.com">JBoss web site</ulink> ). JBoss Cache is a project of the JBoss Professional Open Source product suite. 
+	</para>
+	<para>
+		In some of the example listings, what is meant to be displayed on one line does not fit inside the available page width. These lines have been broken up. A '&#92;' at the end of a line means that a break has been introduced to fit in the page, with the following lines indented. So: <programlisting>
+            Let's pretend to have an extremely &#92;
+            long line that &#92;
+            does not fit
+            This one is short
+         
+</programlisting>
+		 Is really: <programlisting>
+            Let's pretend to have an extremely long line that does not fit
+            This one is short
+         
+</programlisting>
+	</para>
+	</preface><xi:include href="Term.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Jbossaop.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Instrumentation.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Troubleshooting.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<xi:include href="Appendix.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
+
+</book>
+

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Jbossaop.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Jbossaop.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Jbossaop.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Introduction_to_JBossAop">
 	<title>Introduction to JBossAop</title>

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.ent	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,3 +0,0 @@
-<!ENTITY HOLDER "Red Hat, Inc">
-<!ENTITY YEAR "2008">
-<!ENTITY VERSION "">

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Pojo_Cache_Guide.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,50 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
-
-<book>
-	<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<toc></toc><preface id="Preface" revision="1"><title>Preface</title>
-	<para>
-		PojoCache is an in-memomy, transactional, and replicated POJO (plain old Java object) cache system that allows users to operate on a POJO transparently without active user management of either replication or persistency aspects. PojoCache, a component of JBossCache (uses PojoCache class as an internal implementation, the old implementation TreeCacheAop has been deprecated.), is the first in the market to provide a POJO cache functionality. JBossCache by itself is a 100&#37; Java based library that can be run either as a standalone program or inside an application server. 
-	</para>
-	<para>
-		This document is meant to be a user guide to explain the architecture, api, configuration, and examples for PojoCache. We assume the readers are familiar with both JGroups and TreeCache usages. Since PojoCache uses JBossAop framework, an introduction will also be given there. 
-	</para>
-	<para>
-		If you have questions, use the user <ulink url="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=157">forum</ulink> linked on the JBossCache website. We also provide tracking links for tracking bug reports and feature requests on <ulink url="http://jira.jboss.com">JBoss Jira web site</ulink> . If you are interested in the development of PojoCache, post a message on the forum. If you are interested in translating this documentation into your language, contact us on the developer mailing list. 
-	</para>
-	<para>
-		JBossCache is an open-source product based on LGPL. Commercial development support, production support and training for JBoss Cache is available through JBoss Inc. (see <ulink url="http://www.jboss.com">JBoss web site</ulink> ). JBoss Cache is a project of the JBoss Professional Open Source product suite. 
-	</para>
-	<para>
-		In some of the example listings, what is meant to be displayed on one line does not fit inside the available page width. These lines have been broken up. A '&#92;' at the end of a line means that a break has been introduced to fit in the page, with the following lines indented. So: <programlisting>
-            Let's pretend to have an extremely &#92;
-            long line that &#92;
-            does not fit
-            This one is short
-         
-</programlisting>
-		 Is really: <programlisting>
-            Let's pretend to have an extremely long line that does not fit
-            This one is short
-         
-</programlisting>
-	</para>
-	</preface><xi:include href="Term.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Jbossaop.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Instrumentation.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Troubleshooting.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<xi:include href="Appendix.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
-
-</book>
-

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Term.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Term.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Term.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Terminology">
 	<title>Terminology</title>
@@ -74,7 +69,7 @@
 				<term>Prepare</term>
 				<listitem>
 					<para>
-						Prepare is a keyword in JBossAop pointcut language used to specify which POJO needs to be instrumented. It appears in a <literal>jboss-aop.xml</literal> file. However, if you can use annotation to specify the POJO instrumentation, there is no need for a <literal>jboss-aop.xml</literal> listing.
+						Prepare is a keyword in JBossAop pointcut language used to specify which POJO needs to be instrumented. It appears in a <literal>jboss-aop.xml</literal> file. However, if you can use annotation to specify the POJO instrumentation, there is no need for a <literal>jboss-aop.xml</literal> listing. Note that When a POJO is declared properly either through the xml or annotation, we consider it "aspectized". 
 					</para>
 				</listitem>
 			</varlistentry>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Troubleshooting.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Troubleshooting.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Pojo_Cache_Guide/en-US/Troubleshooting.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="TroubleShooting">
 	<title>TroubleShooting</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Architecture.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Architecture.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Architecture.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Architecture">
 	<title>Architecture</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Basic_api.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Basic_api.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Basic_api.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Basic_API">
 	<title>Basic API</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,38 +1,26 @@
 <?xml version='1.0'?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <bookinfo id="JBoss_Cache_Tree_Cache___A_Structured_Replicated_Transactional_Cache">
-	<title>Tree Cache Guide</title>
-	<subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+	<title>JBoss Cache Tree Cache Guide CP05</title>
+	<subtitle>for Use with JBoss Enterprise Application Platform 4.2 CP05</subtitle>
 	<edition>1.0</edition>
-	<pubsnumber>6</pubsnumber>
-	<productname>JBoss Cache</productname>
-	<productnumber>4.2.5</productnumber>
+	<pubsnumber>1</pubsnumber>
+	<productname>JBoss Enterprise Application Platform</productname>
+	<productnumber>4.2</productnumber>
 	<abstract>
 		<para>
 			This book is about the JBoss Cache Tree Cache. 
 		</para>
 	</abstract>
 	<isbn>N/A</isbn>
-	<mediaobject>
+	<corpauthor>
+	  <inlinemediaobject>
 		<imageobject>
-			<imagedata fileref="Common_Content/images/rhlogo-chapter-title.png" />
-		</imageobject>
-	</mediaobject>
-	<publisher>
-		<publishername>
-			<inlinemediaobject>
-				<imageobject>
-					<imagedata fileref="Common_Content/images/rhlogo-title.png" />
-				</imageobject>
-			</inlinemediaobject>
-		</publishername>
-	</publisher>
+			 <imagedata fileref="Common_Content/images/redhat-logo.svg" />
+		 </imageobject>
+	  </inlinemediaobject>
+	</corpauthor>
 	<copyright>
 		<year>&YEAR;</year>
 		<holder>&HOLDER;</holder>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Cache_loaders.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Cache_loaders.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Cache_loaders.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Cache_Loaders">
 	<title>Cache Loaders</title>
@@ -471,8 +466,6 @@
 		
 		<section id="CacheLoader_use_cases-Replicated_caches_with_only_one_node_having_a_store">
 			<title>Replicated caches with only one node having a store</title>
-			<para>
-			</para>
 			<figure id="Replicated_caches_with_only_one_node_having_a_store-2_nodes_but_only_one_accesses_the_backend_store">
 				<title>2 nodes but only one accesses the backend store</title>
 				<mediaobject>
@@ -537,8 +530,6 @@
 					</para>
 				</listitem>
 			</orderedlist>
-			<para>
-			</para>
 		</section>
 		
 		<section id="CacheLoader_use_cases-Hierarchical_caches">
@@ -604,8 +595,6 @@
 			<para>
 				Note that currently (JBossCache 1.3.0) this cache loader is not well supported, and has not been tested. We suggest to use TcpDelegatingCacheLoader instead (see next). 
 			</para>
-			<para>
-			</para>
 		</section>
 		
 		<section id="CacheLoader_use_cases-TcpDelegatingCacheLoader">
@@ -620,8 +609,6 @@
 				The TcpDelegatingCacheLoader is configured with the host and port of the remote TcpCacheServer, and uses this to communicate to it. 
 			</para>
 			<para>
-			</para>
-			<para>
 				An example set of a TcpCacheServer running inside of JBoss is shown below: 
 			</para>
 <programlisting>&lt;server&gt;
@@ -670,8 +657,6 @@
 			<para>
 				To alleviate single point of failure, we could combine this with a ChainingCacheLoader, where the first CacheLoader is a ClusteredCacheLoader, the second a TcpDelegatingCacheLoader, and the last a JDBCacheLoader, effectively defining our cost of access to a cache in increasing order of cost. 
 			</para>
-			<para>
-			</para>
 		</section>
 		
 		<section id="CacheLoader_use_cases-RmiDelegatingCacheLoader">
@@ -686,8 +671,6 @@
 				The RmiDelegatingCacheLoader is configured with the host, port of the remote RMI server and the bind name of the RmiCacheServer, and uses this to communicate. 
 			</para>
 			<para>
-			</para>
-			<para>
 				An example set of an RmiCacheServer running inside of JBoss is shown below: 
 			</para>
 <programlisting>&lt;server&gt;
@@ -736,8 +719,6 @@
 			<para>
 				Very similar use case scenarios that apply to TcpDelegatingCacheLoaders above apply to RmiDelegatingCacheLoaders as well. 
 			</para>
-			<para>
-			</para>
 		</section>
 		
 	</section>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Colophon.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Colophon.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Colophon.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <bibliography id="Bibliography"><title>Bibliography</title>
 <bibliodiv id="Bibliography-Authors"><title>Authors</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Compatibility.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Compatibility.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Compatibility.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Version_Compatibility_and_Interoperability">
 	<title>Version Compatibility and Interoperability</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Configuration.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Configuration.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Configuration.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Configuration">
 	<title>Configuration</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Eviction_policies.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Eviction_policies.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Eviction_policies.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Eviction_Policies">
 	<title>Eviction Policies</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Introduction.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Introduction.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Introduction.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Introduction">
 	<title>Introduction</title>
@@ -42,7 +37,7 @@
 			There is an API for plugging in different transaction managers: all it requires is to get the transaction associated with the caller's thread. Several <literal>TransactionManagerLookup</literal> implementations are provided for popular transaction managers, including a <literal>DummyTransactionManager</literal> for testing. 
 		</para>
 		<para>
-			Finally, we use pessimistic locking of the cache by default, with optimistic locking as a configurable option. With pessimistic locking, we can configure the local locking policy corresponding to database-style transaction isolation levels, i.e., SERIALIZABLE, REPEATABLE, READ_COMMITTED, READ_UNCOMMITTED and NONE. More on transaction isolation levels will be discussed later. Note that the cluster-wide isolation level is READ-UNCOMMITTED by default as we don&#8217;t acquire a cluster-wide lock on touching an object for which we don&#8217;t yet have a lock (this would result in too high an overhead for messaging). 
+			Finally, we use pessimistic locking of the cache by default, with optimistic locking as a configurable option. With pessimistic locking, we can configure the local locking policy corresponding to database-style transaction isolation levels, i.e., SERIALIZABLE, REPEATABLE, READ_COMMITTED, READ_UNCOMMITTED and NONE. More on transaction isolation levels will be discussed later. Note that the cluster-wide isolation level is READ-UNCOMMITTED by default as we do not acquire a cluster-wide lock on touching an object for which we do not yet have a lock (this would result in too high an overhead for messaging). 
 		</para>
 		<para>
 			With optimistic locking, isolation levels are ignored as each transaction effectively maintains a copy of the data with which it works on and then attempts to merge back into the tree structure upon transaction completion. This results in a near-serializable degree of data integrity, applied cluster-wide, for the minor performance penalty incurred when validating workspace data at commit time, and the occasional transaction commit failure due to validation failures at commit time. 

Added: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.ent	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,3 @@
+<!ENTITY HOLDER "Red Hat, Inc">
+<!ENTITY YEAR "2008">
+<!ENTITY VERSION "">

Added: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.xml	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/JBoss_Cache_Tree_Cache_Guide_CP05.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,53 @@
+<?xml version='1.0'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+
+<book>
+	<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<preface id="Preface" revision="1"><title>Preface</title>
+	<para>
+		This and its accompanying documents describe JBoss Cache's TreeCache, a tree-structured replicated, transactional cache. JBoss Cache's PojoCache, an "object-oriented" cache that is the AOP-enabled subclass of TreeCache, allowing for Plain Old Java Objects (POJOs) to be inserted and replicated transactionally in a cluster, is described separately in a similar user guide. 
+	</para>
+	<para>
+		The TreeCache is fully configurable. Aspects of the system such as replication mechanisms, transaction isolation levels, eviction policies, and transaction managers are all configurable. The TreeCache can be used in a standalone fashion - independent of JBoss Application Server or any other application server. PojoCache on the other hand requires both TreeCache and the JBossAOP standalone subsystem. PojoCache, documented separately, is the first in the market to provide a POJO cache functionality. 
+	</para>
+	<para>
+		This document is meant to be a user guide to explain the architecture, api, configuration, and examples for JBoss Cache's TreeCache. Good knowledge of the Java programming language along with a string appreciation and understanding of transactions and concurrent threads is presumed. No prior knowledge of JBoss Application Server is expected or required. 
+	</para>
+	<para>
+		If you have questions, use the <ulink url="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=157">user forum </ulink> linked on the <ulink url="http://labs.jboss.com/jbosscache">JBoss Cache website</ulink> . We also provide a mechanism for tracking bug reports and feature requests on the <ulink url="http://jira.jboss.com">JBoss JIRA issue tracker </ulink> . If you are interested in the development of JBoss Cache or in translating this documentation into other languages, we'd love to hear from you. Please post a message on the user forum or contact us on the <ulink url="http://lists.jboss.org">developer mailing list </ulink> . 
+	</para>
+	<para>
+		JBoss Cache is an open-source product based on LGPL. Commercial development support, production support and training for JBoss Cache is available through <ulink url="http://www.jboss.com">JBoss Inc.</ulink> JBoss Cache is a product in JBoss Professional Open Source <ulink url="http://www.jboss.com/products/index">JEMS</ulink> (JBoss Enterprise Middleware Suite). 
+	</para>
+	</preface>
+	
+	<xi:include href="Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Basic_api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Replication.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Transactions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Eviction_policies.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Cache_loaders.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Treecache_marshaller.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="State_transfer.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Compatibility.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Mgmt_information.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+	<xi:include href="Jboss_integration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
+
+</book>
+

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Jboss_integration.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Jboss_integration.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Jboss_integration.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Running_JBoss_Cache_within_JBoss_Application_Server">
 	<title>Running JBoss Cache within JBoss Application Server</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Mgmt_information.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Mgmt_information.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Mgmt_information.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Management_Information">
 	<title>Management Information</title>
@@ -495,111 +490,115 @@
 					</row>
 					<row>
 						<entry>
-							org.jboss.cache.NodeActivate 
+							org.jboss.cache.NodeActivate:
+							<itemizedlist>
+								<listitem>
+									<para>
+									Object[0]=String: fqn
+								</para>
+								</listitem>
+								<listitem>
+									<para>
+										Object[1]=Boolean: pre
+									</para>
+								</listitem>
+							</itemizedlist>
 						</entry>
-						<entrytbl cols="1"><tbody>
-							<row>
-								<entry rowsep="0">
-									Object[0]=String: fqn 
-								</entry>
-							</row>
-							<row>
-								<entry>
-									Object[1]=Boolean: pre 
-								</entry>
-							</row>
-						</tbody>
-						</entrytbl><entry>
+						
+						<entry>
 							NodeActivate 
 						</entry>
 					</row>
 					<row>
 						<entry>
 							org.jboss.cache.NodeEvict 
-						</entry>
-						<entrytbl cols="1"><tbody>
-							<row>
-								<entry rowsep="0">
-									Object[0]=String: fqn 
-								</entry>
-							</row>
-							<row>
-								<entry>
-									Object[1]=Boolean: pre 
-								</entry>
-							</row>
-						</tbody>
-						</entrytbl><entry>
+						<itemizedlist>
+							<listitem>
+								<para>
+									Object[0]=String: fqn
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Object[1]=Boolean: pre
+								</para>
+							</listitem>
+						</itemizedlist>
+					</entry>
+						<entry>
 							NodeEvict 
 						</entry>
 					</row>
 					<row>
 						<entry>
 							org.jboss.cache.NodeModify 
-						</entry>
-						<entrytbl cols="1"><tbody>
-							<row>
-								<entry rowsep="0">
-									Object[0]=String: fqn 
-								</entry>
-							</row>
-							<row>
-								<entry rowsep="0">
-									Object[1]=Boolean: pre 
-								</entry>
-							</row>
-							<row>
-								<entry>
-									Object[2]=Boolean: isLocal 
-								</entry>
-							</row>
-						</tbody>
-						</entrytbl><entry>
+						
+						<itemizedlist>
+							<listitem>
+								<para>
+									Object[0]=String: fqn
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Object[1]=Boolean: pre
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Object[2]=Boolean: isLocal
+								</para>
+							</listitem>
+						</itemizedlist>
+					</entry>
+						<entry>
 							NodeModify 
 						</entry>
 					</row>
 					<row>
 						<entry>
 							org.jboss.cache.NodePassivate 
-						</entry>
-						<entrytbl cols="1"><tbody>
-							<row>
-								<entry rowsep="0">
-									Object[0]=String: fqn 
-								</entry>
-							</row>
-							<row>
-								<entry>
-									Object[1]=Boolean: pre 
-								</entry>
-							</row>
-						</tbody>
-						</entrytbl><entry>
+						
+						<itemizedlist>
+							<listitem>
+								<para>
+									Object[0]=String: fqn
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Object[1]=Boolean: pre
+								</para>
+							</listitem>
+						</itemizedlist>
+					</entry>
+					<entry>
 							NodePassivate 
 						</entry>
 					</row>
 					<row>
 						<entry>
 							org.jboss.cache.NodeRemove 
-						</entry>
-						<entrytbl cols="1"><tbody>
-							<row>
-								<entry rowsep="0">
-									Object[0]=String: fqn 
-								</entry>
-							</row>
-							<row>
-								<entry rowsep="0">
-									Object[1]=Boolean: pre 
-								</entry>
-							</row>
-							<row>
-								<entry>
-									Object[2]=Boolean: isLocal 
-								</entry>
-							</row>
-						</tbody>
-						</entrytbl><entry>
+						
+						<itemizedlist>
+							<listitem>
+								<para>
+									Object[0]=String: fqn
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Object[1]=Boolean: pre
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Object[2]=Boolean: isLocal
+								</para>
+							</listitem>
+						</itemizedlist>
+					</entry>
+						<entry>
 							NodeRemove 
 						</entry>
 					</row>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Replication.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Replication.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Replication.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Clustered_Caches">
 	<title>Clustered Caches</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/State_transfer.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/State_transfer.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/State_transfer.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="State_Transfer">
 	<title>State Transfer</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Transactions.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Transactions.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Transactions.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="Transactions_and_Concurrency">
 	<title>Transactions and Concurrency</title>

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.ent	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,3 +0,0 @@
-<!ENTITY HOLDER "Red Hat, Inc">
-<!ENTITY YEAR "2008">
-<!ENTITY VERSION "">

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Tree_Cache_Guide.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,58 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
-
-<book>
-	<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<preface id="Preface" revision="1"><title>Preface</title>
-	<para>
-		This and its accompanying documents describe JBoss Cache's TreeCache, a tree-structured replicated, transactional cache. JBoss Cache's PojoCache, an "object-oriented" cache that is the AOP-enabled subclass of TreeCache, allowing for Plain Old Java Objects (POJOs) to be inserted and replicated transactionally in a cluster, is described separately in a similar user guide. 
-	</para>
-	<para>
-		The TreeCache is fully configurable. Aspects of the system such as replication mechanisms, transaction isolation levels, eviction policies, and transaction managers are all configurable. The TreeCache can be used in a standalone fashion - independent of JBoss Application Server or any other application server. PojoCache on the other hand requires both TreeCache and the JBossAOP standalone subsystem. PojoCache, documented separately, is the first in the market to provide a POJO cache functionality. 
-	</para>
-	<para>
-		This document is meant to be a user guide to explain the architecture, api, configuration, and examples for JBoss Cache's TreeCache. Good knowledge of the Java programming language along with a string appreciation and understanding of transactions and concurrent threads is presumed. No prior knowledge of JBoss Application Server is expected or required. 
-	</para>
-	<para>
-		If you have questions, use the <ulink url="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=157">user forum </ulink> linked on the <ulink url="http://labs.jboss.com/jbosscache">JBoss Cache website</ulink> . We also provide a mechanism for tracking bug reports and feature requests on the <ulink url="http://jira.jboss.com">JBoss JIRA issue tracker </ulink> . If you are interested in the development of JBoss Cache or in translating this documentation into other languages, we'd love to hear from you. Please post a message on the user forum or contact us on the <ulink url="http://lists.jboss.org">developer mailing list </ulink> . 
-	</para>
-	<para>
-		JBoss Cache is an open-source product based on LGPL. Commercial development support, production support and training for JBoss Cache is available through <ulink url="http://www.jboss.com">JBoss Inc.</ulink> JBoss Cache is a product in JBoss Professional Open Source <ulink url="http://www.jboss.com/products/index">JEMS</ulink> (JBoss Enterprise Middleware Suite). 
-	</para>
-	</preface>
-	
-	<xi:include href="Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Basic_api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Replication.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Transactions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Eviction_policies.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Cache_loaders.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Treecache_marshaller.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="State_transfer.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Compatibility.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Mgmt_information.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-	<xi:include href="Jboss_integration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
-
-</book>
-

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Treecache_marshaller.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Treecache_marshaller.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tree_Cache_Guide/en-US/Treecache_marshaller.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,10 +1,5 @@
 <?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <chapter id="TreeCacheMarshaller">
 	<title>TreeCacheMarshaller</title>

Modified: projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,38 +1,26 @@
 <?xml version='1.0'?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
 <bookinfo id="JBoss_Cache">
-	<title>Tutorial</title>
-	<subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+	<title>JBoss Cache Tutorial CP05</title>
+	<subtitle>for Use with JBoss Enterprise Application Platform 4.2 CP05</subtitle>
 	<edition>1.0</edition>
-	<pubsnumber>6</pubsnumber>
-	<productname>JBoss Cache</productname>
-	<productnumber>4.2.5</productnumber>
+	<pubsnumber>1</pubsnumber>
+	<productname>JBoss Enterprise Application Platform</productname>
+	<productnumber>4.2</productnumber>
 	<abstract>
 		<para>
 			This book is a TreeCache and JBossCache Tutorial.
 		</para>
 	</abstract>
 	<isbn>N/A</isbn>
-	<mediaobject>
+	<corpauthor>
+	  <inlinemediaobject>
 		<imageobject>
-			<imagedata fileref="Common_Content/images/rhlogo-chapter-title.png" />
-		</imageobject>
-	</mediaobject>
-	<publisher>
-		<publishername>
-			<inlinemediaobject>
-				<imageobject>
-					<imagedata fileref="Common_Content/images/rhlogo-title.png" />
-				</imageobject>
-			</inlinemediaobject>
-		</publishername>
-	</publisher>
+			 <imagedata fileref="Common_Content/images/redhat-logo.svg" />
+		 </imageobject>
+	  </inlinemediaobject>
+	</corpauthor>
 	<copyright>
 		<year>&YEAR;</year>
 		<holder>&HOLDER;</holder>

Added: projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.ent	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,3 @@
+<!ENTITY HOLDER "Red Hat, Inc">
+<!ENTITY YEAR "2008">
+<!ENTITY VERSION "">

Added: projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.xml	                        (rev 0)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/JBoss_Cache_Tutorial_CP05.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,503 @@
+<?xml version='1.0'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+
+<book id="JBossCache_Tutorial">
+	<title>JBossCache Tutorial</title>
+	<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+	<chapter id="JBossCache_Tutorial-Introduction">
+		<title>Introduction</title>
+		<para>
+			JBossCache is an in-memory replicated (synchronous or asynchronous), transactional, and fine-grained cache. It consists of two subsystems: TreeCache (plain cache) and PojoCache (object-oriented POJO cache). In this tutorial, we will demonstrate the usage of both cache features. For details of the usage and APIs, please refer to the user manuals for <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">TreeCache</ulink> and <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">PojoCache</ulink>. 
+		</para>
+		<section id="Introduction-Scope">
+			<title>Scope</title>
+			<itemizedlist>
+				<listitem>
+					<para>
+						Cache creation and modification
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						Replication
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						PojoCache
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						Transaction
+					</para>
+				</listitem>
+			</itemizedlist>
+		</section>
+		
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Configuration">
+		<title>Configuration</title>
+		<para>
+			First download the standalone TreeCache code from <ulink url="http://labs.jboss.org/portal/jbosscache/download/index.html">here</ulink>. Unzip it, and you will get a root directory (jboss-cache in our example). 
+		</para>
+		<para>
+			The configuration files are located under the etc directory. You can modify the behavior of TreeCache through editing the various configuration files. 
+		</para>
+		<itemizedlist>
+			<listitem>
+				<para>
+					<literal>log4j.xml</literal>. Logging output. You can turn on logging level or change log file directory (default is <literal>/tmp/jbosscache.log</literal>). 
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<literal>replSync-service.xml</literal>. Tree cache configuration file (file name is not fixed. You specify the file to be read in <literal>PropertyConfigurator</literal>). The settings are for a replicated, synchronous, and transactional cache. The default DummyTransactionManager is used with a transaction isolation level of REPEATABLE_READ. For details of the configuration parameters, please refer to the <ulink url="http://www.jboss.org/products/jbosscache/docs">Treecache</ulink>. Note that this file is used in the BSH ( <ulink url="http://www.beanshell.org/">BeanShell</ulink>, a lightweight Java compatible scripting language) script to configure the cache. 
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<literal>jboss-aop.xml</literal>. AOP pointcut and advice definition for the example POJO classes, Person and Address, respectively. For details of how to put your own class under AOP, please refer to the <ulink url="http://www.jboss.org/products/jbosscache/docs">PojoCache</ulink>. This file is read in when the process is started. 
+				</para>
+			</listitem>
+		</itemizedlist>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Script">
+		<title>Script</title>
+		<para>
+			The script files that are needed (located under install directory) in this tutorial are: 
+		</para>
+		<itemizedlist>
+			<listitem>
+				<para>
+					<literal>build.sh</literal> (or <literal>build.bat</literal> for DOS/Windows). Simple build script that wraps around ant. Users can simply type <literal>sh build.sh</literal> for help. Note from now on, we will only refer to the Unix version with the understanding that there is a corresponding DOS counterpart. The same goes for runDemoShell explained next. 
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<literal>runDemoShell.sh</literal>. Simple run script that wraps around BeanShell. This is used to operate the replicated cache through interactive command line. 
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<literal>plain.bsh</literal>. Java code that instantiate and configure the cache. It also creates an example cache entry. 
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<literal>aop.bsh</literal>. Java codes that instantiate and configure the aop cache. In addition, it also sets up the example POJO (plain old Java object) classes (e.g., Person and Address). 
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<literal>aopWithTx.bsh</literal>. Same with aop.bsh except it also instantiates a transaction context. 
+				</para>
+			</listitem>
+		</itemizedlist>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Example_POJO">
+		<title>Example POJO</title>
+		<para>
+			The example POJO classes used for PojoCache demo are: <literal>Person</literal> and <literal>Address</literal>. They are located under <literal>tests/org/jboss/cache/aop</literal> directory. <literal>Person</literal> has attributes of <literal>String age, Address addr, List languages </literal> , etc. We will demonstrate that once you put the POJO instance in the cache, plain get/set POJO methods will be intercepted by the cache. 
+		</para>
+		<para>
+			Here is the snippet of the class definition for <literal>Person</literal> and <literal>Address</literal> . 
+		</para>
+<programlisting>public class Person {
+         String name=null;
+         int age=0;
+         Map hobbies=null;
+         Address address=null;
+         Set skills;
+         List languages;
+
+         public String getName() { return name; }
+         public void setName(String name) { this.name=name; }
+         ...
+         }
+      
+</programlisting>
+<programlisting>public class Address {
+         String street=null;
+         String city=null;
+         int zip=0;
+
+         public String getStreet() { return street; }
+         public void setStreet(String street) { this.street=street; }
+         ...
+         }
+      
+</programlisting>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Demo">
+		<title>Demo</title>
+		<para>
+			To run the demo, you will need at least two windows: one to peruse the cache contents (plus non-aop operations) and the other to operate the cache directly. Of course, you can also open more than one GUI window to see the cache replication at work to multiple members. You will also need to run the scripts under jboss-cache installation directory after you unzip the release package (jboss-cache-dist.zip). Due to the limitation of the GUI, please note that: 
+		</para>
+		<itemizedlist>
+			<listitem>
+				<para>
+					For each demo example, it&#39;d be best if you re-start the whole setup.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					While you can modify the cache content on the GUI window and it will show up on the BSH cache content (e.g., through <literal>cache.printDetails()</literal> ), this won&#39;t work on PojoCache demo. That is, you can only modify the cache content on the BSH window.
+				</para>
+			</listitem>
+		</itemizedlist>
+		<para>
+			The two demo programs to run are:
+		</para>
+		<itemizedlist>
+			<listitem>
+				<para>
+					On the first window for the GUI, type <literal>sh build.sh </literal> to see the available commands. To run the GUI, type <literal>sh build.sh run.demo</literal> . It will startup a PojoCache GUI. Later on, you can click on a node to view the the contents. Note that you can also add/modify the node contents for non-AOP cache entries. Since the GUI entry only accepts String for now, operation on aop cache from the GUI will not always work (unless it is a String type). 
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					On the second window for the interactive Java commands, type sh runShellDemo.sh to fire off the BeanShell interactive command shell (you can use either ^D or ^Z in Windows and Unix to exit afterward). You can then read in the Java code scripts to showcase the cache capabilities (e.g., plain.bsh, aop.bsh, and aopWithTx.bsh). See the following for details. 
+				</para>
+			</listitem>
+		</itemizedlist>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Plain_cache">
+		<title>Plain cache</title>
+		<para>
+			Once you are in the shell, you can either execute the script to populate the cache, or type it in manually by command line. To run the script, type <literal>sourceRelative("plain.bsh");</literal> under the interactive BSH shell. For this to work, you&#39;ll need to have your working directory set to the directory in which plain.bsh resides (otherwise give the full pathname of plain.bsh). Basically, the script will create cache entries that will be replicated onto the GUI. (You may have to type show() into the resulting beanshell window yourself) Here are the snippets for the script: 
+		</para>
+<programlisting>import org.jboss.cache.*;
+         show(); // verbose mode for bean shell
+         TreeCache tree = new TreeCache();
+         PropertyConfigurator config = new PropertyConfigurator(); 
+	 // configure tree cache. Needs to be in the classpath
+         config.configure(tree, "META-INF/replSync-service.xml");
+         tree.startService(); 
+	 // kick start tree cache
+         tree.put("/a/b/c", "ben", "me"); 
+	 // create a cache entry.
+         // Node "/a/b/c" will be created if it does not yet exist.
+      
+</programlisting>
+		<para>
+			You should see in the GUI that a new entry of <literal>/a/b/c</literal> has been created. Click on the node c to see the content. You can modify the contents from the GUI as well. To create another node, for example, you can type in the shell: 
+		</para>
+<programlisting>tree.put("/a/b/c/d", "JBoss", "Open Source");
+         tree.get("/a/b/c/d", "JBoss");
+      
+</programlisting>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-PojoCache">
+		<title>PojoCache</title>
+		<para>
+			Once you are in the shell, type <literal>sourceRelative("aop.bsh");</literal> to execute the shell script. Basically, aop.bsh illustrates the steps to instantiate a cache, configure it, and then create entries under it. Here are the snippets: 
+		</para>
+<programlisting>import org.jboss.cache.PropertyConfigurator;
+         import org.jboss.cache.aop.PojoCache;
+         import org.jboss.cache.aop.test.Person;
+         import org.jboss.cache.aop.test.Address;
+         show(); // verbose mode for bean shell
+         PojoCache tree = new PojoCache();
+         PropertyConfigurator config = new PropertyConfigurator(); // configure tree cache.
+         config.configure(tree, "META-INF/replSync-service.xml");
+         Person joe = new Person(); // instantiate a Person object named joe
+         joe.setName("Joe Black");
+         joe.setAge(31);
+         Address addr = new Address(); // instantiate a Address object named addr
+         addr.setCity("Sunnyvale");
+         addr.setStreet("123 Albert Ave");
+         addr.setZip(94086); joe.setAddress(addr); // set the address reference
+         tree.startService(); // kick start tree cache
+         tree.putObject("/aop/joe", joe); 
+	 // add aop sanctioned object (and sub-objects) into cache.
+         // since it is aop-sanctioned, use of plain get/set methods will take care
+	 // of cache contents automatically.
+         joe.setAge(41);
+      
+</programlisting>
+		<para>
+			Note the API needed to put the object (and its dependent ones) into cache is putObject. Once the second window finishes execution, you should see the first GUI window has been populated with entries of /aop/joe/address. Click on each tree node will display different values associated with that node. 
+		</para>
+		<para>
+			Next step to see AOP in action, you can do plain get/set methods without ever worrying about put it in the cache. For example, you can do in the shell window joe.setAge(20); and see that GUI gets updated with the age field automatically (if not, click away and back will refresh the GUI content). Also to demonstrate the object graph replication, you can modify Joe&#39;s address and see the cache will update it automatically. For example, type addr.setCity("San Jose"); in the interactive shell, you should see in the GUI that the address got modified. 
+		</para>
+		<para>
+			Finally, PojoCache also supports get/set with parameter type of Collection classes (i.e., List, Map, and Set). For example, type the following in the shell command line: 
+		</para>
+<programlisting>ArrayList lang = new ArrayList();
+         lang.add("Ensligh");
+         lang.add("Mandarin");
+         joe.setLanguages(lang);
+      
+</programlisting>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-PojoCache_with_Transaction">
+		<title>PojoCache with Transaction</title>
+		<para>
+			To see TreeCache transaction at work, you start with the same setup with last section except you load the bsh of aopWithTx.bsh instead of aop.bsh. The additional snippets are: 
+		</para>
+<programlisting>import org.jboss.cache.PropertyConfigurator;
+         import org.jboss.cache.aop.PojoCache;
+         import org.jboss.cache.aop.test.Person;
+         import org.jboss.cache.aop.test.Address;// Tx imports
+         import javax.transaction.UserTransaction; import javax.naming.*;
+         import org.jboss.cache.transaction.DummyTransactionManager;
+         show(); // verbose mode for bean shell
+         // Set up transaction manager
+         DummyTransactionManager.getInstance();
+         Properties prop = new Properties();
+         prop.put(Context.INITIAL_CONTEXT_FACTORY,
+	     "org.jboss.cache.transaction.DummyContextFactory");
+         UserTransaction tx = (UserTransaction)new
+	     InitialContext(prop).lookup("UserTransaction");
+         PojoCache tree = new PojoCache();
+         PropertyConfigurator config = new PropertyConfigurator(); 
+	 // configure tree cache.
+         config.configure(tree, "META-INF/replSync-service.xml");
+         joe = new Person();
+         joe.setName("Joe Black");
+         joe.setAge(31);
+
+         Address addr = new Address();
+         addr.setCity("Sunnyvale");
+         addr.setStreet("123 Albert Ave");
+         addr.setZip(94086);
+         joe.setAddress(addr);
+
+         tree.startService(); // kick start tree cache
+         tree.putObject("/aop/joe", joe); // add aop sanctioned object
+         // since it is aop-sanctioned, use of plain get/set methods will take care
+	 of cache contents automatically.
+         // Also it is transacted
+         tx.begin();
+         joe.setAge(41);
+         joe.getAddress().setZip(95124);
+         tx.commit();
+      
+</programlisting>
+		<para>
+			In this example, a default dummy transaction manager is used.
+		</para>
+<programlisting>tx.begin();
+         addr.setZip(95131);
+         tx.rollback();
+      
+</programlisting>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-CacheLoader_examples">
+		<title>CacheLoader examples</title>
+		<para>
+			All the examples below are based on the JBossCache standalone distribution. We assume the ZIP file has been unzipped into a directory <literal>jboss-cache</literal> . 
+		</para>
+		<section id="CacheLoader_examples-Local_cache_with_CacheLoader">
+			<title>Local cache with CacheLoader</title>
+			<para>
+				This demo shows a local PojoCache with a CacheLoader. We will insert a POJO into the cache, and see that the POJO is transparently saved using the CacheLoader. 
+			</para>
+			<para>
+				To run this, you have to modify <literal>jboss-cache/output/etc/META-INF/oodb-service.xml</literal> : change <literal>CacheLoaderConfig</literal> to point to a valid directory (create it if it doesn&#39;t yet exist): 
+			</para>
+<programlisting>&lt;attribute name="CacheLoaderConfig"&gt;
+            location=c:\\tmp\\oodb
+            &lt;/attribute&gt;
+         
+</programlisting>
+			<para>
+				Then start the beanshell and source <literal>oodb.bsh</literal> into it. Note that <literal>oodb.bsh</literal> already contains code to create and retrieve POJO from the cache. So remember to comment them out if you decide to create the Person instance yourself. 
+			</para>
+<programlisting>bela at laptop /cygdrive/c/jboss-cache
+            $ ./runShellDemo.sh
+            BeanShell 1.3.0 - by Pat Niemeyer (pat at pat.net)
+            bsh % sourceRelative("oodb.bsh");
+            interceptor chain is:
+            class org.jboss.cache.interceptors.CallInterceptor
+            class org.jboss.cache.interceptors.CacheLoaderInterceptor
+            class org.jboss.cache.interceptors.TransactionInterceptor
+            &lt;null&gt;
+            bsh %
+         
+</programlisting>
+			<para>
+				Next, create an instance of Person, and set its address and other fields: 
+			</para>
+<programlisting>bsh % p=new Person();
+            &lt;name=null, age=0, hobbies=, address=null, skills=null, languages=null&gt;
+            bsh % p.age=3;
+            &lt;3&gt;
+            bsh % p.name="Michelle";
+            &lt;Michelle&gt;
+            bsh % addr=new Address();
+            &lt;street=null, city=null, zip=0&gt;
+            bsh % addr.city="San Jose";
+            &lt;San Jose&gt;
+            bsh % addr.zip=95124;
+            &lt;95124&gt;
+            bsh % addr.street="1704 Almond Blossom Lane";
+            &lt;1704 Almond Blossom Lane&gt;
+            bsh % p.setAddress(addr);
+            bsh % tree.putObject("/person/me", p);
+            bsh % p;
+            &lt;name=Michelle, age=3, hobbies=, address=street=1704 Almond Blossom Lane, 
+	        city=San Jose, zip=95124, skills=null, languages=null&gt;
+            bsh %
+         
+</programlisting>
+			<para>
+				The <literal>Person</literal> object with all of its fields and subobjects is now saved. Let&#39;s kill beanshell and restart it. At this point, because the instance of <literal>Person</literal> we created was given the name "p", we can retrieve it again: 
+			</para>
+<programlisting>bela at laptop /cygdrive/c/jboss-cache
+            $ ./runShellDemo.sh
+            BeanShell 1.3.0 - by Pat Niemeyer (pat at pat.net)
+            bsh % sourceRelative("oodb.bsh");
+            interceptor chain is:
+            class org.jboss.cache.interceptors.CallInterceptor
+            class org.jboss.cache.interceptors.CacheLoaderInterceptor
+            class org.jboss.cache.interceptors.TransactionInterceptor
+            &lt;null&gt;
+            bsh % tree;
+            &lt;/&gt;
+            bsh % p=tree.getObject("/person/me");
+            &lt;name=Michelle, age=3, hobbies=, address=street=1704 Almond Blossom Lane, 
+	        city=San Jose, zip=95124, skills=null, languages=null&gt;
+            bsh % tree;
+            &lt;/p
+            /address
+            &gt;
+            bsh %
+         
+</programlisting>
+			<para>
+				The interesting thing here is that the cache was initially empty ("/"). Only when we loaded "p", did it get populated (lazy loading). You can see that the values of "p" are loaded from the datastore where they were previously saved. 
+			</para>
+		</section>
+		
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Replicated_cache_with_shared_datastore">
+		<title>Replicated cache with shared datastore</title>
+		<para>
+			The scenario that we&#39;ll run in this example is described in the documentation for JBossCache. It consists of 2 separate nodes that replicate their contents between each other. In addition, they both point to the <emphasis>same</emphasis> datastore. The configuration is in file <literal>jboss-cache/output/etc/META-INF/replAsyncSharedCacheLoader-service.xml</literal> : 
+		</para>
+<programlisting>&lt;!-- Whether or not to fetch state on joining a cluster --&gt;
+            &lt;attribute name="FetchStateOnStartup"&gt;false&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderClass"&gt;org.jboss.cache.loader.FileCacheLoader&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderConfig"&gt;
+            location=c:\\tmp
+            &lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderShared"&gt;true&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderPreload"&gt;/&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderFetchTransientState"&gt;false&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderFetchPersistentState"&gt;true&lt;/attribute&gt;
+</programlisting>
+		<para>
+			The <literal>FetchStateOnStartup</literal> attribute set to <literal>false</literal> means that a newly started cache will <emphasis>not</emphasis> attempt to fetch the state (neither transient nor persistent). Therefore, attributes <literal>CacheLoaderFetchTransientState</literal> and <literal>CacheLoaderFetchPersistentState</literal> will be ignored. <literal>CacheLoaderShared</literal> set to <literal>true</literal> means that both nodes will share the same datastore, which resides in <literal>c:\tmp</literal> in the example (this assumes that both nodes have access to the same file system). Please make sure that <literal>c:\tmp</literal> exists, or point the config string to a different existing directory. 
+		</para>
+		<para>
+			This configuration would essentially provide for two <literal>cold</literal> nodes, in the sense that all contents of a new cache is in the datastore, and is lazy-loaded via the CacheLoader when accessed. However, this is not true, as <literal>CacheLoaderPreload</literal> points to "/", which is the root of the entire tree. Therefore, all of the contents of the cache are recursively pre-loaded. This is probably a bad configuration when you have a lot of data in the cache, because <emphasis>all</emphasis> of your data will be loaded into the cache. 
+		</para>
+		<para>
+			Note that with a shared datastore, the node that makes a modification is the one who writes it to the store using the CacheLoader. This prevents both nodes from writing the same data twice. 
+		</para>
+		<para>
+			We can now start 2 instances by opening two shells and executing the following ANT target: 
+		</para>
+<programlisting>bela at laptop /cygdrive/c/jboss-cache
+            $ ./build.sh run.demo.async.shared.cacheloader
+            Buildfile: build.xml
+
+            init:
+
+            compile:
+
+            run.demo.async.shared.cacheloader:
+            [java] ** node loaded: /a
+            [java] ** node loaded: /a/b
+            [java] ** node loaded: /a/b/c
+            [java] ** node loaded: /uno
+            [java] ** node loaded: /uno/due
+
+            [java] -------------------------------------------------------
+            [java] GMS: address is 192.168.1.184:1357
+            [java] -------------------------------------------------------
+            [java] interceptor chain is:
+            [java] class org.jboss.cache.interceptors.CallInterceptor
+            [java] class org.jboss.cache.interceptors.ReplicationInterceptor
+            [java] class org.jboss.cache.interceptors.CacheLoaderInterceptor
+            [java] class org.jboss.cache.interceptors.TransactionInterceptor
+            [java] ** view change: [192.168.1.184:1355|1] [192.168.1.184:1355,
+	    192.168.1.184:1357]
+            [java] ** node modified: /
+         
+</programlisting>
+		<para>
+			2 GUI instances will appear, showing the tree structure of the cache graphically. Nodes can be added, modified or removed by right-clicking or using the menu. Any modification is replicated between the two nodes. If both nodes are killed, and subsequently one or both nodes are restarted, the state is the same as before shutdown as it was persisted to the shared store via the CacheLoader. 
+		</para>
+		<para>
+			Note that the example above shows the 2 nodes running on the same machine (192.168.1.184) on ports 1355 and 1357. 
+		</para>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Replicated_cache_with_unshared_local_datastore">
+		<title>Replicated cache with unshared (local) datastore</title>
+		<para>
+			In this example, we&#39;ll run 2 nodes again, but this time, instead of sharing the same datastore, each node has its own datastore. The configuration is in file <literal>jboss-cache/output/etc/META-INF/node{1,2}.xml</literal> . We&#39;ll look at node1.xml: 
+		</para>
+<programlisting>&lt;attribute name="CacheLoaderClass"&gt;org.jboss.cache.loader.bdbje.BdbjeCacheLoader&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderConfig"&gt;
+            location=c:\\tmp\\node1
+            &lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderShared"&gt;false&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderPreload"&gt;/&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderFetchTransientState"&gt;false&lt;/attribute&gt;
+            &lt;attribute name="CacheLoaderFetchPersistentState"&gt;true&lt;/attribute&gt;
+         
+</programlisting>
+		<para>
+			Again, we use the Sleepycat CacheLoader implementation in <literal>CacheLoaderClass</literal> . The <literal>CacheLoaderConfig</literal> points to <literal>c:\tmp\node1</literal> . This is the directory in which the Sleepycat DB for node1 will reside. File node2.xml has a configuration that points to <literal>c:\tmp\node2</literal> , so we have 2 different unshared datastores. Note that, of course, we still have the same filesystem in our case, because we run the 2 nodes on the same machine. In practice those two directories would reside on two different machines, and each machine would run one JBossCache process. Note that the 2 directories have to exis 
+		</para>
+		<para>
+			To create an unshared datastore, we set the <literal>CacheLoaderShared</literal> attribute to <literal>false</literal> . 
+		</para>
+		<para>
+			The example can be run by again opening 2 shells, and running 2 ANT targets (here we show the target for node1): 
+		</para>
+<programlisting>bela at laptop /cygdrive/c/jboss-cache
+            $ ./build.sh run.demo.unshared.node2
+            Buildfile: build.xml
+
+            init:
+
+            compile:
+
+            run.demo.unshared.node2:
+            [java] ** node loaded: /a
+            [java] ** node loaded: /a/a2
+            ...
+         
+</programlisting>
+		<para>
+			The <literal>run.demo.unshared.node2</literal> target runs node2, which will have its own store located at <literal>c:\tmp\node2</literal> (shown above). Whenever a change is made on either of the 2 nodes, it is replicated to the other node, and persisted in both local datastores. You can kill and restart a node, or even both nodes, and the data will still be available due to the persistent backend store(s). 
+		</para>
+	</chapter>
+	<chapter id="JBossCache_Tutorial-Troubleshooting">
+		<title>Troubleshooting</title>
+		<para>
+			Here are some tips for troubleshooting, if you encounter problems during this demo. 
+		</para>
+		<itemizedlist>
+			<listitem>
+				<para>
+					Most of the time, the problem will come from cache replication layer, i.e., JGroups package. On the output window, you can see the JGroups membership view. See if it is updated when you run the BSH commands. It should show a view with at least two members. For example, on my window, I see 
+				</para>
+<programlisting>[java] ** view change: [BWANG-HOME:4381|1] [BWANG-HOME:4381, BWANG-HOME:4383]
+            
+</programlisting>
+				<para>
+					with 2 members: 4381 and 4383. On the other hand, if you don&#39;t close the previous running cache instance, the membership view will also include the previous existing ones. This can corrupt the states. So you will have to make sure there is no running TreeCache processes before each demo. If you have problem with this, please consult the <ulink url="http://www.jgroups.org/javagroupsnew/docs/index.html">JGroups website </ulink>
+				</para>
+			</listitem>
+		</itemizedlist>
+	</chapter>
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
+
+</book>
+

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.ent
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.ent	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,3 +0,0 @@
-<!ENTITY HOLDER "Red Hat, Inc">
-<!ENTITY YEAR "2008">
-<!ENTITY VERSION "">

Deleted: projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.xml
===================================================================
--- projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Cache/Cache_Tutorial/en-US/Tutorial.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,510 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % RH_ENTITIES SYSTEM "Common_Content/Entities.ent">
-%RH_ENTITIES;
-<!ENTITY % RH_TRANS_ENTITIES SYSTEM "Common_Content/Translatable-Entities.ent">
-%RH_TRANS_ENTITIES;
-]>
-
-<book id="JBossCache_Tutorial">
-	<title>JBossCache Tutorial</title>
-	<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-	<chapter id="JBossCache_Tutorial-Introduction">
-		<title>Introduction</title>
-		<para>
-			JBossCache is an in-memory replicated (synchronous or asynchronous), transactional, and fine-grained cache. It consists of two subsystems: TreeCache (plain cache) and PojoCache (object-oriented POJO cache). In this tutorial, we will demonstrate the usage of both cache features. For details of the usage and APIs, please refer to the user manuals for <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">TreeCache</ulink> and <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">PojoCache</ulink>. 
-		</para>
-		<section id="Introduction-Scope">
-			<title>Scope</title>
-			<itemizedlist>
-				<listitem>
-					<para>
-						Cache creation and modification
-					</para>
-				</listitem>
-				<listitem>
-					<para>
-						Replication
-					</para>
-				</listitem>
-				<listitem>
-					<para>
-						PojoCache
-					</para>
-				</listitem>
-				<listitem>
-					<para>
-						Transaction
-					</para>
-				</listitem>
-			</itemizedlist>
-		</section>
-		
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Configuration">
-		<title>Configuration</title>
-		<para>
-			First download the standalone TreeCache code from <ulink url="http://labs.jboss.org/portal/jbosscache/download/index.html">here</ulink>. Unzip it, and you will get a root directory (jboss-cache in our example). 
-		</para>
-		<para>
-			The configuration files are located under the etc directory. You can modify the behavior of TreeCache through editing the various configuration files. 
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					<literal>log4j.xml</literal>. Logging output. You can turn on logging level or change log file directory (default is <literal>/tmp/jbosscache.log</literal>). 
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<literal>replSync-service.xml</literal>. Tree cache configuration file (file name is not fixed. You specify the file to be read in <literal>PropertyConfigurator</literal>). The settings are for a replicated, synchronous, and transactional cache. The default DummyTransactionManager is used with a transaction isolation level of REPEATABLE_READ. For details of the configuration parameters, please refer to the <ulink url="http://www.jboss.org/products/jbosscache/docs">Treecache</ulink>. Note that this file is used in the BSH ( <ulink url="http://www.beanshell.org/">BeanShell</ulink>, a lightweight Java compatible scripting language) script to configure the cache. 
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<literal>jboss-aop.xml</literal>. AOP pointcut and advice definition for the example POJO classes, Person and Address, respectively. For details of how to put your own class under AOP, please refer to the <ulink url="http://www.jboss.org/products/jbosscache/docs">PojoCache</ulink>. This file is read in when the process is started. 
-				</para>
-			</listitem>
-		</itemizedlist>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Script">
-		<title>Script</title>
-		<para>
-			The script files that are needed (located under install directory) in this tutorial are: 
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					<literal>build.sh</literal> (or <literal>build.bat</literal> for DOS/Windows). Simple build script that wraps around ant. Users can simply type <literal>sh build.sh</literal> for help. Note from now on, we will only refer to the Unix version with the understanding that there is a corresponding DOS counterpart. The same goes for runDemoShell explained next. 
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<literal>runDemoShell.sh</literal>. Simple run script that wraps around BeanShell. This is used to operate the replicated cache through interactive command line. 
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<literal>plain.bsh</literal>. Java code that instantiate and configure the cache. It also creates an example cache entry. 
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<literal>aop.bsh</literal>. Java codes that instantiate and configure the aop cache. In addition, it also sets up the example POJO (plain old Java object) classes (e.g., Person and Address). 
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					<literal>aopWithTx.bsh</literal>. Same with aop.bsh except it also instantiates a transaction context. 
-				</para>
-			</listitem>
-		</itemizedlist>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Example_POJO">
-		<title>Example POJO</title>
-		<para>
-			The example POJO classes used for PojoCache demo are: <literal>Person</literal> and <literal>Address</literal>. They are located under <literal>tests/org/jboss/cache/aop</literal> directory. <literal>Person</literal> has attributes of <literal>String age, Address addr, List languages </literal> , etc. We will demonstrate that once you put the POJO instance in the cache, plain get/set POJO methods will be intercepted by the cache. 
-		</para>
-		<para>
-			Here is the snippet of the class definition for <literal>Person</literal> and <literal>Address</literal> . 
-		</para>
-<programlisting>public class Person {
-         String name=null;
-         int age=0;
-         Map hobbies=null;
-         Address address=null;
-         Set skills;
-         List languages;
-
-         public String getName() { return name; }
-         public void setName(String name) { this.name=name; }
-         ...
-         }
-      
-</programlisting>
-<programlisting>public class Address {
-         String street=null;
-         String city=null;
-         int zip=0;
-
-         public String getStreet() { return street; }
-         public void setStreet(String street) { this.street=street; }
-         ...
-         }
-      
-</programlisting>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Demo">
-		<title>Demo</title>
-		<para>
-			To run the demo, you will need at least two windows: one to peruse the cache contents (plus non-aop operations) and the other to operate the cache directly. Of course, you can also open more than one GUI window to see the cache replication at work to multiple members. You will also need to run the scripts under jboss-cache installation directory after you unzip the release package (jboss-cache-dist.zip). Due to the limitation of the GUI, please note that: 
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					For each demo example, it&#39;d be best if you re-start the whole setup.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					While you can modify the cache content on the GUI window and it will show up on the BSH cache content (e.g., through <literal>cache.printDetails()</literal> ), this won&#39;t work on PojoCache demo. That is, you can only modify the cache content on the BSH window.
-				</para>
-			</listitem>
-		</itemizedlist>
-		<para>
-			The two demo programs to run are:
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					On the first window for the GUI, type <literal>sh build.sh </literal> to see the available commands. To run the GUI, type <literal>sh build.sh run.demo</literal> . It will startup a PojoCache GUI. Later on, you can click on a node to view the the contents. Note that you can also add/modify the node contents for non-AOP cache entries. Since the GUI entry only accepts String for now, operation on aop cache from the GUI will not always work (unless it is a String type). 
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					On the second window for the interactive Java commands, type sh runShellDemo.sh to fire off the BeanShell interactive command shell (you can use either ^D or ^Z in Windows and Unix to exit afterward). You can then read in the Java code scripts to showcase the cache capabilities (e.g., plain.bsh, aop.bsh, and aopWithTx.bsh). See the following for details. 
-				</para>
-			</listitem>
-		</itemizedlist>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Plain_cache">
-		<title>Plain cache</title>
-		<para>
-			Once you are in the shell, you can either execute the script to populate the cache, or type it in manually by command line. To run the script, type <literal>sourceRelative("plain.bsh");</literal> under the interactive BSH shell. For this to work, you&#39;ll need to have your working directory set to the directory in which plain.bsh resides (otherwise give the full pathname of plain.bsh). Basically, the script will create cache entries that will be replicated onto the GUI. (You may have to type show() into the resulting beanshell window yourself) Here are the snippets for the script: 
-		</para>
-<programlisting>import org.jboss.cache.*;
-         show(); // verbose mode for bean shell
-         TreeCache tree = new TreeCache();
-         PropertyConfigurator config = new PropertyConfigurator(); 
-	 // configure tree cache. Needs to be in the classpath
-         config.configure(tree, "META-INF/replSync-service.xml");
-         tree.startService(); 
-	 // kick start tree cache
-         tree.put("/a/b/c", "ben", "me"); 
-	 // create a cache entry.
-         // Node "/a/b/c" will be created if it does not yet exist.
-      
-</programlisting>
-		<para>
-			You should see in the GUI that a new entry of <literal>/a/b/c</literal> has been created. Click on the node c to see the content. You can modify the contents from the GUI as well. To create another node, for example, you can type in the shell: 
-		</para>
-<programlisting>tree.put("/a/b/c/d", "JBoss", "Open Source");
-         tree.get("/a/b/c/d", "JBoss");
-      
-</programlisting>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-PojoCache">
-		<title>PojoCache</title>
-		<para>
-			Once you are in the shell, type <literal>sourceRelative("aop.bsh");</literal> to execute the shell script. Basically, aop.bsh illustrates the steps to instantiate a cache, configure it, and then create entries under it. Here are the snippets: 
-		</para>
-<programlisting>import org.jboss.cache.PropertyConfigurator;
-         import org.jboss.cache.aop.PojoCache;
-         import org.jboss.cache.aop.test.Person;
-         import org.jboss.cache.aop.test.Address;
-         show(); // verbose mode for bean shell
-         PojoCache tree = new PojoCache();
-         PropertyConfigurator config = new PropertyConfigurator(); // configure tree cache.
-         config.configure(tree, "META-INF/replSync-service.xml");
-         Person joe = new Person(); // instantiate a Person object named joe
-         joe.setName("Joe Black");
-         joe.setAge(31);
-         Address addr = new Address(); // instantiate a Address object named addr
-         addr.setCity("Sunnyvale");
-         addr.setStreet("123 Albert Ave");
-         addr.setZip(94086); joe.setAddress(addr); // set the address reference
-         tree.startService(); // kick start tree cache
-         tree.putObject("/aop/joe", joe); 
-	 // add aop sanctioned object (and sub-objects) into cache.
-         // since it is aop-sanctioned, use of plain get/set methods will take care
-	 // of cache contents automatically.
-         joe.setAge(41);
-      
-</programlisting>
-		<para>
-			Note the API needed to put the object (and its dependent ones) into cache is putObject. Once the second window finishes execution, you should see the first GUI window has been populated with entries of /aop/joe/address. Click on each tree node will display different values associated with that node. 
-		</para>
-		<para>
-			Next step to see AOP in action, you can do plain get/set methods without ever worrying about put it in the cache. For example, you can do in the shell window joe.setAge(20); and see that GUI gets updated with the age field automatically (if not, click away and back will refresh the GUI content). Also to demonstrate the object graph replication, you can modify Joe&#39;s address and see the cache will update it automatically. For example, type addr.setCity("San Jose"); in the interactive shell, you should see in the GUI that the address got modified. 
-		</para>
-		<para>
-			Finally, PojoCache also supports get/set with parameter type of Collection classes (i.e., List, Map, and Set). For example, type the following in the shell command line: 
-		</para>
-<programlisting>ArrayList lang = new ArrayList();
-         lang.add("Ensligh");
-         lang.add("Mandarin");
-         joe.setLanguages(lang);
-      
-</programlisting>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-PojoCache_with_Transaction">
-		<title>PojoCache with Transaction</title>
-		<para>
-			To see TreeCache transaction at work, you start with the same setup with last section except you load the bsh of aopWithTx.bsh instead of aop.bsh. The additional snippets are: 
-		</para>
-<programlisting>import org.jboss.cache.PropertyConfigurator;
-         import org.jboss.cache.aop.PojoCache;
-         import org.jboss.cache.aop.test.Person;
-         import org.jboss.cache.aop.test.Address;// Tx imports
-         import javax.transaction.UserTransaction; import javax.naming.*;
-         import org.jboss.cache.transaction.DummyTransactionManager;
-         show(); // verbose mode for bean shell
-         // Set up transaction manager
-         DummyTransactionManager.getInstance();
-         Properties prop = new Properties();
-         prop.put(Context.INITIAL_CONTEXT_FACTORY,
-	     "org.jboss.cache.transaction.DummyContextFactory");
-         UserTransaction tx = (UserTransaction)new
-	     InitialContext(prop).lookup("UserTransaction");
-         PojoCache tree = new PojoCache();
-         PropertyConfigurator config = new PropertyConfigurator(); 
-	 // configure tree cache.
-         config.configure(tree, "META-INF/replSync-service.xml");
-         joe = new Person();
-         joe.setName("Joe Black");
-         joe.setAge(31);
-
-         Address addr = new Address();
-         addr.setCity("Sunnyvale");
-         addr.setStreet("123 Albert Ave");
-         addr.setZip(94086);
-         joe.setAddress(addr);
-
-         tree.startService(); // kick start tree cache
-         tree.putObject("/aop/joe", joe); // add aop sanctioned object
-         // since it is aop-sanctioned, use of plain get/set methods will take care
-	 of cache contents automatically.
-         // Also it is transacted
-         tx.begin();
-         joe.setAge(41);
-         joe.getAddress().setZip(95124);
-         tx.commit();
-      
-</programlisting>
-		<para>
-			In this example, a default dummy transaction manager is used.
-		</para>
-<programlisting>tx.begin();
-         addr.setZip(95131);
-         tx.rollback();
-      
-</programlisting>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-CacheLoader_examples">
-		<title>CacheLoader examples</title>
-		<para>
-			All the examples below are based on the JBossCache standalone distribution. We assume the ZIP file has been unzipped into a directory <literal>jboss-cache</literal> . 
-		</para>
-		<section id="CacheLoader_examples-Local_cache_with_CacheLoader">
-			<title>Local cache with CacheLoader</title>
-			<para>
-				This demo shows a local PojoCache with a CacheLoader. We will insert a POJO into the cache, and see that the POJO is transparently saved using the CacheLoader. 
-			</para>
-			<para>
-				To run this, you have to modify <literal>jboss-cache/output/etc/META-INF/oodb-service.xml</literal> : change <literal>CacheLoaderConfig</literal> to point to a valid directory (create it if it doesn&#39;t yet exist): 
-			</para>
-<programlisting>&lt;attribute name="CacheLoaderConfig"&gt;
-            location=c:\\tmp\\oodb
-            &lt;/attribute&gt;
-         
-</programlisting>
-			<para>
-				Then start the beanshell and source <literal>oodb.bsh</literal> into it. Note that <literal>oodb.bsh</literal> already contains code to create and retrieve POJO from the cache. So remember to comment them out if you decide to create the Person instance yourself. 
-			</para>
-<programlisting>bela at laptop /cygdrive/c/jboss-cache
-            $ ./runShellDemo.sh
-            BeanShell 1.3.0 - by Pat Niemeyer (pat at pat.net)
-            bsh % sourceRelative("oodb.bsh");
-            interceptor chain is:
-            class org.jboss.cache.interceptors.CallInterceptor
-            class org.jboss.cache.interceptors.CacheLoaderInterceptor
-            class org.jboss.cache.interceptors.TransactionInterceptor
-            &lt;null&gt;
-            bsh %
-         
-</programlisting>
-			<para>
-				Next, create an instance of Person, and set its address and other fields: 
-			</para>
-<programlisting>bsh % p=new Person();
-            &lt;name=null, age=0, hobbies=, address=null, skills=null, languages=null&gt;
-            bsh % p.age=3;
-            &lt;3&gt;
-            bsh % p.name="Michelle";
-            &lt;Michelle&gt;
-            bsh % addr=new Address();
-            &lt;street=null, city=null, zip=0&gt;
-            bsh % addr.city="San Jose";
-            &lt;San Jose&gt;
-            bsh % addr.zip=95124;
-            &lt;95124&gt;
-            bsh % addr.street="1704 Almond Blossom Lane";
-            &lt;1704 Almond Blossom Lane&gt;
-            bsh % p.setAddress(addr);
-            bsh % tree.putObject("/person/me", p);
-            bsh % p;
-            &lt;name=Michelle, age=3, hobbies=, address=street=1704 Almond Blossom Lane, 
-	        city=San Jose, zip=95124, skills=null, languages=null&gt;
-            bsh %
-         
-</programlisting>
-			<para>
-				The <literal>Person</literal> object with all of its fields and subobjects is now saved. Let&#39;s kill beanshell and restart it. At this point, because the instance of <literal>Person</literal> we created was given the name "p", we can retrieve it again: 
-			</para>
-<programlisting>bela at laptop /cygdrive/c/jboss-cache
-            $ ./runShellDemo.sh
-            BeanShell 1.3.0 - by Pat Niemeyer (pat at pat.net)
-            bsh % sourceRelative("oodb.bsh");
-            interceptor chain is:
-            class org.jboss.cache.interceptors.CallInterceptor
-            class org.jboss.cache.interceptors.CacheLoaderInterceptor
-            class org.jboss.cache.interceptors.TransactionInterceptor
-            &lt;null&gt;
-            bsh % tree;
-            &lt;/&gt;
-            bsh % p=tree.getObject("/person/me");
-            &lt;name=Michelle, age=3, hobbies=, address=street=1704 Almond Blossom Lane, 
-	        city=San Jose, zip=95124, skills=null, languages=null&gt;
-            bsh % tree;
-            &lt;/p
-            /address
-            &gt;
-            bsh %
-         
-</programlisting>
-			<para>
-				The interesting thing here is that the cache was initially empty ("/"). Only when we loaded "p", did it get populated (lazy loading). You can see that the values of "p" are loaded from the datastore where they were previously saved. 
-			</para>
-			<para>
-			</para>
-		</section>
-		
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Replicated_cache_with_shared_datastore">
-		<title>Replicated cache with shared datastore</title>
-		<para>
-			The scenario that we&#39;ll run in this example is described in the documentation for JBossCache. It consists of 2 separate nodes that replicate their contents between each other. In addition, they both point to the <emphasis>same</emphasis> datastore. The configuration is in file <literal>jboss-cache/output/etc/META-INF/replAsyncSharedCacheLoader-service.xml</literal> : 
-		</para>
-<programlisting>&lt;!-- Whether or not to fetch state on joining a cluster --&gt;
-            &lt;attribute name="FetchStateOnStartup"&gt;false&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderClass"&gt;org.jboss.cache.loader.FileCacheLoader&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderConfig"&gt;
-            location=c:\\tmp
-            &lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderShared"&gt;true&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderPreload"&gt;/&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderFetchTransientState"&gt;false&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderFetchPersistentState"&gt;true&lt;/attribute&gt;
-</programlisting>
-		<para>
-			The <literal>FetchStateOnStartup</literal> attribute set to <literal>false</literal> means that a newly started cache will <emphasis>not</emphasis> attempt to fetch the state (neither transient nor persistent). Therefore, attributes <literal>CacheLoaderFetchTransientState</literal> and <literal>CacheLoaderFetchPersistentState</literal> will be ignored. <literal>CacheLoaderShared</literal> set to <literal>true</literal> means that both nodes will share the same datastore, which resides in <literal>c:\tmp</literal> in the example (this assumes that both nodes have access to the same file system). Please make sure that <literal>c:\tmp</literal> exists, or point the config string to a different existing directory. 
-		</para>
-		<para>
-			This configuration would essentially provide for two <literal>cold</literal> nodes, in the sense that all contents of a new cache is in the datastore, and is lazy-loaded via the CacheLoader when accessed. However, this is not true, as <literal>CacheLoaderPreload</literal> points to "/", which is the root of the entire tree. Therefore, all of the contents of the cache are recursively pre-loaded. This is probably a bad configuration when you have a lot of data in the cache, because <emphasis>all</emphasis> of your data will be loaded into the cache. 
-		</para>
-		<para>
-			Note that with a shared datastore, the node that makes a modification is the one who writes it to the store using the CacheLoader. This prevents both nodes from writing the same data twice. 
-		</para>
-		<para>
-			We can now start 2 instances by opening two shells and executing the following ANT target: 
-		</para>
-<programlisting>bela at laptop /cygdrive/c/jboss-cache
-            $ ./build.sh run.demo.async.shared.cacheloader
-            Buildfile: build.xml
-
-            init:
-
-            compile:
-
-            run.demo.async.shared.cacheloader:
-            [java] ** node loaded: /a
-            [java] ** node loaded: /a/b
-            [java] ** node loaded: /a/b/c
-            [java] ** node loaded: /uno
-            [java] ** node loaded: /uno/due
-
-            [java] -------------------------------------------------------
-            [java] GMS: address is 192.168.1.184:1357
-            [java] -------------------------------------------------------
-            [java] interceptor chain is:
-            [java] class org.jboss.cache.interceptors.CallInterceptor
-            [java] class org.jboss.cache.interceptors.ReplicationInterceptor
-            [java] class org.jboss.cache.interceptors.CacheLoaderInterceptor
-            [java] class org.jboss.cache.interceptors.TransactionInterceptor
-            [java] ** view change: [192.168.1.184:1355|1] [192.168.1.184:1355,
-	    192.168.1.184:1357]
-            [java] ** node modified: /
-         
-</programlisting>
-		<para>
-			2 GUI instances will appear, showing the tree structure of the cache graphically. Nodes can be added, modified or removed by right-clicking or using the menu. Any modification is replicated between the two nodes. If both nodes are killed, and subsequently one or both nodes are restarted, the state is the same as before shutdown as it was persisted to the shared store via the CacheLoader. 
-		</para>
-		<para>
-			Note that the example above shows the 2 nodes running on the same machine (192.168.1.184) on ports 1355 and 1357. 
-		</para>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Replicated_cache_with_unshared_local_datastore">
-		<title>Replicated cache with unshared (local) datastore</title>
-		<para>
-			In this example, we&#39;ll run 2 nodes again, but this time, instead of sharing the same datastore, each node has its own datastore. The configuration is in file <literal>jboss-cache/output/etc/META-INF/node{1,2}.xml</literal> . We&#39;ll look at node1.xml: 
-		</para>
-<programlisting>&lt;attribute name="CacheLoaderClass"&gt;org.jboss.cache.loader.bdbje.BdbjeCacheLoader&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderConfig"&gt;
-            location=c:\\tmp\\node1
-            &lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderShared"&gt;false&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderPreload"&gt;/&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderFetchTransientState"&gt;false&lt;/attribute&gt;
-            &lt;attribute name="CacheLoaderFetchPersistentState"&gt;true&lt;/attribute&gt;
-         
-</programlisting>
-		<para>
-			Again, we use the Sleepycat CacheLoader implementation in <literal>CacheLoaderClass</literal> . The <literal>CacheLoaderConfig</literal> points to <literal>c:\tmp\node1</literal> . This is the directory in which the Sleepycat DB for node1 will reside. File node2.xml has a configuration that points to <literal>c:\tmp\node2</literal> , so we have 2 different unshared datastores. Note that, of course, we still have the same filesystem in our case, because we run the 2 nodes on the same machine. In practice those two directories would reside on two different machines, and each machine would run one JBossCache process. Note that the 2 directories have to exis 
-		</para>
-		<para>
-			To create an unshared datastore, we set the <literal>CacheLoaderShared</literal> attribute to <literal>false</literal> . 
-		</para>
-		<para>
-			The example can be run by again opening 2 shells, and running 2 ANT targets (here we show the target for node1): 
-		</para>
-<programlisting>bela at laptop /cygdrive/c/jboss-cache
-            $ ./build.sh run.demo.unshared.node2
-            Buildfile: build.xml
-
-            init:
-
-            compile:
-
-            run.demo.unshared.node2:
-            [java] ** node loaded: /a
-            [java] ** node loaded: /a/a2
-            ...
-         
-</programlisting>
-		<para>
-			The <literal>run.demo.unshared.node2</literal> target runs node2, which will have its own store located at <literal>c:\tmp\node2</literal> (shown above). Whenever a change is made on either of the 2 nodes, it is replicated to the other node, and persisted in both local datastores. You can kill and restart a node, or even both nodes, and the data will still be available due to the persistent backend store(s). 
-		</para>
-	</chapter>
-	<chapter id="JBossCache_Tutorial-Troubleshooting">
-		<title>Troubleshooting</title>
-		<para>
-			Here are some tips for troubleshooting, if you encounter problems during this demo. 
-		</para>
-		<itemizedlist>
-			<listitem>
-				<para>
-					Most of the time, the problem will come from cache replication layer, i.e., JGroups package. On the output window, you can see the JGroups membership view. See if it is updated when you run the BSH commands. It should show a view with at least two members. For example, on my window, I see 
-				</para>
-<programlisting>[java] ** view change: [BWANG-HOME:4381|1] [BWANG-HOME:4381, BWANG-HOME:4383]
-            
-</programlisting>
-				<para>
-					with 2 members: 4381 and 4383. On the other hand, if you don&#39;t close the previous running cache instance, the membership view will also include the previous existing ones. This can corrupt the states. So you will have to make sure there is no running TreeCache processes before each demo. If you have problem with this, please consult the <ulink url="http://www.jgroups.org/javagroupsnew/docs/index.html">JGroups website </ulink>
-				</para>
-			</listitem>
-		</itemizedlist>
-	</chapter>
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
-
-</book>
-

Modified: projects/docs/enterprise/4.2.5/Hibernate/Data_Access_Basics/Makefile
===================================================================
--- projects/docs/enterprise/4.2.5/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2.5/Hibernate/Data_Query/Makefile
===================================================================
--- projects/docs/enterprise/4.2.5/Hibernate/Data_Query/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Hibernate/Data_Query/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2.5/Hibernate/Getting_Started/Makefile
===================================================================
--- projects/docs/enterprise/4.2.5/Hibernate/Getting_Started/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Hibernate/Getting_Started/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2.5/Hibernate/Object_Relational_Mapping/Makefile
===================================================================
--- projects/docs/enterprise/4.2.5/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.2.5/Hibernate/Tools_And_Examples/Makefile
===================================================================
--- projects/docs/enterprise/4.2.5/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.2.5/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Deleted: projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Advanced_Topics.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Advanced_Topics.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Advanced_Topics.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,125 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
-<book id="Advanced_Topcis" lang="en-US">
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Book_Info.xml"/>
-
-    <preface id="preface" revision="2">
-        <title>Preface</title>
-
-        <para>
-            Working with object-oriented software and a relational database can be cumbersome
-            and time consuming in today's enterprise environments. Hibernate is an object/relational
-            mapping tool for Java environments. The term object/relational mapping (ORM) refers to
-            the technique of mapping a data representation from an object model to a relational
-            data model with a SQL-based schema.
-        </para>
-
-        <para>
-            Hibernate not only takes care of the mapping from Java classes to
-            database tables (and from Java data types to SQL data types), but also provides data
-            query and retrieval facilities and can significantly reduce development time otherwise
-            spent with manual data handling in SQL and JDBC.
-        </para>
-
-        <para>
-            Hibernates goal is to relieve the developer from 95 percent of common data persistence
-            related programming tasks. Hibernate may not be the best solution for data-centric
-            applications that only use stored-procedures to implement the business logic in the
-            database, it is most useful with object-oriented domain models and business logic in
-            the Java-based middle-tier. However, Hibernate can certainly help you to remove or
-            encapsulate vendor-specific SQL code and will help with the common task of result set
-            translation from a tabular representation to a graph of objects.
-        </para>
-
-        <para>
-            If you are new to Hibernate and Object/Relational Mapping or even Java,
-            please follow these steps:
-        </para>
-
-        <orderedlist>
-            <!--listitem>
-                <para>
-                    Read <xref linkend="tutorial"/> for a tutorial with step-by-step
-                    instructions. The source code for the tutorial is included in the
-                    distribution in the <literal>doc/reference/tutorial/</literal>
-                    directory.
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    Read <xref linkend="architecture"/> to understand the environments where
-                    Hibernate can be used.
-                </para>
-            </listitem -->
-            <listitem>
-                <para>
-                    Have a look at the <literal>eg/</literal> directory in the Hibernate
-                    distribution, it contains a simple standalone application. Copy your
-                    JDBC driver to the <literal>lib/</literal> directory and edit
-                    <literal>etc/hibernate.properties</literal>, specifying correct values for
-                    your database. From a command prompt in the distribution directory,
-                    type <literal>ant eg</literal> (using Ant), or under Windows, type
-                    <literal>build eg</literal>.
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    Use this reference documentation as your primary source of information.
-                    Consider reading <emphasis>Hibernate in Action</emphasis>
-                    (http://www.manning.com/bauer) if you need more help with application
-                    design or if you prefer a step-by-step tutorial. Also visit
-                    http://caveatemptor.hibernate.org and download the example application
-                    for Hibernate in Action.
-                </para>
-            </listitem>
-            <listitem>
-				<para>
-					FAQs are answered on the Hibernate website.
-				</para>
-            </listitem>
-			<listitem>
-				<para>
-					Third party demos, examples, and tutorials are linked on the Hibernate
-					website.
-				</para>
-			</listitem>
-            <listitem>
-                <para>
-                    The Community Area on the Hibernate website is a good resource for
-                    design patterns and various integration solutions (Tomcat, JBoss AS,
-                    Struts, EJB, etc.).
-                </para>
-            </listitem>
-         </orderedlist>
-
-         <para>
-             If you have questions, use the user forum linked on the Hibernate website. We also
-             provide a JIRA issue trackings system for bug reports and feature requests. If you
-             are interested in the development of Hibernate, join the developer mailing list. If
-             you are interested in translating this documentation into your language, contact us
-             on the developer mailing list.
-         </para>
-
-         <para>
-             Commercial development support, production support, and training for Hibernate is
-             available through JBoss Inc. (see http://www.hibernate.org/SupportTraining/).
-             Hibernate is a Professional Open Source project and a critical component of the
-             JBoss Enterprise Middleware System (JEMS) suite of products.
-         </para>
-
-    </preface>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="XML_Mapping.xml"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Improving_Performance.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
-
-</book>
-

Modified: projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,36 +1,24 @@
 <?xml version='1.0'?>
 
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"[
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <bookinfo>
-  <title>Advanced Topics</title>
-  <subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+  <title>Hibernate Advanced Topics</title>
+  <subtitle>for Use with JBoss Enterprise Application Platform 4.3</subtitle>
 	<edition>2.0</edition>
 	<pubsnumber>1</pubsnumber>
-	<productname>Hibernate</productname>
+	<productname>JBoss Enterprise Application Platform</productname>
 	<productnumber>4.3</productnumber>
-  <mediaobject>
-    <imageobject>
-      <imagedata fileref="Common_Content/images/rhlogo-chapter-title.png"/>
-    </imageobject>
-  </mediaobject>
-  <publisher>
-    <publishername>
-      <inlinemediaobject>
-        <imageobject>
-          <imagedata fileref="Common_Content/images/rhlogo-title.png"/>
-        </imageobject>
-      </inlinemediaobject>
-    </publishername>
-  </publisher>
+  <corpauthor>
+	  <inlinemediaobject>
+		<imageobject>
+			 <imagedata fileref="Common_Content/images/redhat-logo.svg" />
+		 </imageobject>
+	  </inlinemediaobject>
+	</corpauthor>
   <copyright>
     <year>&YEAR;</year>
-    <holder>&FORMAL-RHI;</holder>
+    <holder>&HOLDER;</holder>
   </copyright>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Common_Content/Legal_Notice.xml"/>
 </bookinfo>

Added: projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.ent
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.ent	                        (rev 0)
+++ projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.ent	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,3 @@
+<!ENTITY HOLDER "Red Hat, Inc">
+<!ENTITY YEAR "2008">
+<!ENTITY VERSION "4.3.0.">

Added: projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.xml	                        (rev 0)
+++ projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Hibernate_Advanced_Topics.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -0,0 +1,120 @@
+<?xml version='1.0'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+
+<book id="Advanced_Topcis" lang="en-US">
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Book_Info.xml"/>
+
+    <preface id="preface" revision="2">
+        <title>Preface</title>
+
+        <para>
+            Working with object-oriented software and a relational database can be cumbersome
+            and time consuming in today's enterprise environments. Hibernate is an object/relational
+            mapping tool for Java environments. The term object/relational mapping (ORM) refers to
+            the technique of mapping a data representation from an object model to a relational
+            data model with a SQL-based schema.
+        </para>
+
+        <para>
+            Hibernate not only takes care of the mapping from Java classes to
+            database tables (and from Java data types to SQL data types), but also provides data
+            query and retrieval facilities and can significantly reduce development time otherwise
+            spent with manual data handling in SQL and JDBC.
+        </para>
+
+        <para>
+            Hibernates goal is to relieve the developer from 95 percent of common data persistence
+            related programming tasks. Hibernate may not be the best solution for data-centric
+            applications that only use stored-procedures to implement the business logic in the
+            database, it is most useful with object-oriented domain models and business logic in
+            the Java-based middle-tier. However, Hibernate can certainly help you to remove or
+            encapsulate vendor-specific SQL code and will help with the common task of result set
+            translation from a tabular representation to a graph of objects.
+        </para>
+
+        <para>
+            If you are new to Hibernate and Object/Relational Mapping or even Java,
+            please follow these steps:
+        </para>
+
+        <orderedlist>
+            <!--listitem>
+                <para>
+                    Read <xref linkend="tutorial"/> for a tutorial with step-by-step
+                    instructions. The source code for the tutorial is included in the
+                    distribution in the <literal>doc/reference/tutorial/</literal>
+                    directory.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    Read <xref linkend="architecture"/> to understand the environments where
+                    Hibernate can be used.
+                </para>
+            </listitem -->
+            <listitem>
+                <para>
+                    Have a look at the <literal>eg/</literal> directory in the Hibernate
+                    distribution, it contains a simple standalone application. Copy your
+                    JDBC driver to the <literal>lib/</literal> directory and edit
+                    <literal>etc/hibernate.properties</literal>, specifying correct values for
+                    your database. From a command prompt in the distribution directory,
+                    type <literal>ant eg</literal> (using Ant), or under Windows, type
+                    <literal>build eg</literal>.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    Use this reference documentation as your primary source of information.
+                    Consider reading <emphasis>Hibernate in Action</emphasis>
+                    (http://www.manning.com/bauer) if you need more help with application
+                    design or if you prefer a step-by-step tutorial. Also visit
+                    http://caveatemptor.hibernate.org and download the example application
+                    for Hibernate in Action.
+                </para>
+            </listitem>
+            <listitem>
+				<para>
+					FAQs are answered on the Hibernate website.
+				</para>
+            </listitem>
+			<listitem>
+				<para>
+					Third party demos, examples, and tutorials are linked on the Hibernate
+					website.
+				</para>
+			</listitem>
+            <listitem>
+                <para>
+                    The Community Area on the Hibernate website is a good resource for
+                    design patterns and various integration solutions (Tomcat, JBoss AS,
+                    Struts, EJB, etc.).
+                </para>
+            </listitem>
+         </orderedlist>
+
+         <para>
+             If you have questions, use the user forum linked on the Hibernate website. We also
+             provide a JIRA issue trackings system for bug reports and feature requests. If you
+             are interested in the development of Hibernate, join the developer mailing list. If
+             you are interested in translating this documentation into your language, contact us
+             on the developer mailing list.
+         </para>
+
+         <para>
+             Commercial development support, production support, and training for Hibernate is
+             available through JBoss Inc. (see http://www.hibernate.org/SupportTraining/).
+             Hibernate is a Professional Open Source project and a critical component of the
+             JBoss Enterprise Middleware System (JEMS) suite of products.
+         </para>
+
+    </preface>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="XML_Mapping.xml"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Improving_Performance.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Revision_History.xml"/>
+
+</book>
+

Modified: projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Improving_Performance.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Improving_Performance.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/Improving_Performance.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="performance">
   <title>Improving performance</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/XML_Mapping.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/XML_Mapping.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Advanced_Topics/en-US/XML_Mapping.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="xml">
   <title>XML Mapping</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/Makefile
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Batch_Processing.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Batch_Processing.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Batch_Processing.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="batch">
   <title>Batch processing</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,18 +1,13 @@
 <?xml version='1.0'?>
 
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"[
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <bookinfo>
-  <title>Data Access Basics</title>
-  <subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+  <title>Hibernate Data Access Basics</title>
+  <subtitle>for Use with JBoss Enterprise Application Platform 4.3</subtitle>
 	<edition>2.0</edition>
 	<pubsnumber>1</pubsnumber>
-	<productname>Hibernate</productname>
+	<productname>JBoss Enterprise Application Platform</productname>
 	<productnumber>4.3</productnumber>
   <mediaobject>
     <imageobject>
@@ -30,7 +25,7 @@
   </publisher>
   <copyright>
     <year>&YEAR;</year>
-    <holder>&FORMAL-RHI;</holder>
+    <holder>&HOLDER;</holder>
   </copyright>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Common_Content/Legal_Notice.xml"/>
 </bookinfo>

Modified: projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Interceptors_And_Events.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Interceptors_And_Events.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Interceptors_And_Events.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="events">
   <title>Interceptors and events</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Transactions_And_Concurrency.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Transactions_And_Concurrency.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Transactions_And_Concurrency.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="transactions" revision="2">
   <title>Transactions And Concurrency</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Working_With_Objects.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Working_With_Objects.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Data_Access_Basics/en-US/Working_With_Objects.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="objectstate">
   <title>Working with objects</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Data_Query/Makefile
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Data_Query/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Data_Query/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3/Hibernate/Entity_Manager_User_Guide/Makefile
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Entity_Manager_User_Guide/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Entity_Manager_User_Guide/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 BRAND		= JBoss
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 

Modified: projects/docs/enterprise/4.3/Hibernate/Getting_Started/Makefile
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Getting_Started/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Getting_Started/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3/Hibernate/Object_Relational_Mapping/Makefile
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/Makefile
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Best_Practices.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Best_Practices.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Best_Practices.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="best-practices" revision="3">
   <title>Best Practices</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Book_Info.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Book_Info.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Book_Info.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,18 +1,13 @@
 <?xml version='1.0'?>
 
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"[
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <bookinfo>
-  <title>Tools and Examples</title>
-  <subtitle>for Use with JBoss Enterprise Application Platform</subtitle>
+  <title>Hibernate Tools and Examples</title>
+  <subtitle>for Use with JBoss Enterprise Application Platform 4.3</subtitle>
 	<edition>2.0</edition>
 	<pubsnumber>1</pubsnumber>
-	<productname>Hibernate</productname>
+	<productname>JBoss Enterprise Application Platform</productname>
 	<productnumber>4.3</productnumber>
   <mediaobject>
     <imageobject>
@@ -30,7 +25,7 @@
   </publisher>
   <copyright>
     <year>&YEAR;</year>
-    <holder>&FORMAL-RHI;</holder>
+    <holder>&HOLDER;</holder>
   </copyright>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Common_Content/Legal_Notice.xml"/>
 </bookinfo>

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Parent_Child.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Parent_Child.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Parent_Child.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="example-parentchild">
   <title>Example: Parent/Child</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Various_Mappings.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Various_Mappings.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Various_Mappings.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="example-mappings">
   <title>Example: Various Mappings</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Weblog_Application.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Weblog_Application.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Example_Weblog_Application.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="example-weblog">
   <title>Example: Weblog Application</title>
 

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Introduction.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Introduction.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Introduction.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -1,11 +1,6 @@
 <?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <book id="Reference_Guide" lang="en-US">
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Book_Info.xml"/>

Modified: projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Toolset_Guide.xml
===================================================================
--- projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Toolset_Guide.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3/Hibernate/Tools_And_Examples/en-US/Toolset_Guide.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -2,13 +2,8 @@
 
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/
 xml
-/4.3/docbookx.dtd"[
+/4.3/docbookx.dtd">
 
-<!ENTITY % RH_ENTITIES SYSTEM "./Common_Config/rh-entities.ent">
-%RH_ENTITIES;
-
-]>
-
 <chapter id="toolsetguide" revision="2">
   <title>Toolset Guide</title>
 

Modified: projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Dependencies.xml
===================================================================
--- projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Dependencies.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Dependencies.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -31,10 +31,10 @@
       <para>
       <table><title></title>
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+      <!--    <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -233,10 +233,10 @@
         <title>RichFaces dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--    <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -317,10 +317,10 @@
         <title>Seam Mail Dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--     <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -415,10 +415,10 @@
         <title>Seam PDF Dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--       <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -515,10 +515,10 @@
         <title>JBoss Rules Dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--     <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -642,10 +642,10 @@
         <title>JBPM dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--      <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -703,10 +703,10 @@
         <title>GWT dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--     <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -763,10 +763,10 @@
         <title>Spring Framework dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--        <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
+          <colspec colnum="4" colwidth="5*" /> -->
     
           <thead>
             <row>
@@ -823,11 +823,11 @@
         <title>Groovy dependencies</title>
      
         <tgroup cols="4">
-          <colspec colnum="1" colwidth="4*" />
+		<!--     <colspec colnum="1" colwidth="4*" />
           <colspec colnum="2" colwidth="2*" />
           <colspec colnum="3" colwidth="3*" />
-          <colspec colnum="4" colwidth="5*" />
-    
+          <colspec colnum="4" colwidth="5*" /> -->
+     
           <thead>
             <row>
               <entry align="center">

Modified: projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Itext.xml
===================================================================
--- projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Itext.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Itext.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -23,8 +23,8 @@
 
             <informaltable>
                 <tgroup cols="2">
-                    <colspec colnum="1" colwidth="1*"/>
-                    <colspec colnum="2" colwidth="3*"/>
+			<!--        <colspec colnum="1" colwidth="1*"/> -->
+			<!--      <colspec colnum="2" colwidth="3*"/> -->
 
                     <tbody>
 
@@ -160,8 +160,8 @@
 
             <informaltable>
                 <tgroup cols="2">
-                    <colspec colnum="1" colwidth="1*"/>
-                    <colspec colnum="2" colwidth="3*"/>
+			<!--        <colspec colnum="1" colwidth="1*"/> -->
+			<!--      <colspec colnum="2" colwidth="3*"/> -->
 
                     <tbody>
                         <row>
@@ -594,8 +594,8 @@
 
             <informaltable>
                 <tgroup cols="2">
-                    <colspec colnum="1" colwidth="1*"/>
-                    <colspec colnum="2" colwidth="3*"/>
+			<!--         <colspec colnum="1" colwidth="1*"/> -->
+			<!--       <colspec colnum="2" colwidth="3*"/> -->
 
                     <tbody>
                         <row>
@@ -708,12 +708,12 @@
 
             <informaltable>
                 <tgroup cols="2">
-                    <colspec colnum="1" colwidth="1*"/>
-                    <colspec colnum="2" colwidth="3*"/>
+			<!--    <colspec colnum="1" colwidth="1*"/> -->
+			<!--      <colspec colnum="2" colwidth="3*"/> -->
 
                     <tbody>
                         <row>
-                            <entry valign="top">
+				          <entry valign="top"> 
                                 <para>
                                     <literal>&lt;p:chapter&gt;</literal>
                                 </para>
@@ -721,7 +721,7 @@
                                     <literal>&lt;p:section&gt;</literal>
                                 </para>
                             </entry>
-                            <entry valign="top">
+			        <entry valign="top"> 
                                 <para>
                                     <emphasis>Description</emphasis>
                                 </para>
@@ -784,12 +784,12 @@
                             </entry>
                         </row>
                         <row>
-                            <entry valign="top">
+				     <entry valign="top">
                                 <para>
                                     <literal>&lt;p:header&gt;</literal>
                                 </para>
                             </entry>
-                            <entry valign="top">
+			         <entry valign="top"> 
                                 <para>
                                     <emphasis>Description</emphasis>
                                 </para>
@@ -828,17 +828,17 @@
 
             <informaltable>
                 <tgroup cols="2">
-                    <colspec colnum="1" colwidth="1*"/>
-                    <colspec colnum="2" colwidth="3*"/>
+			<!--           <colspec colnum="1" colwidth="1*"/> -->
+			<!--           <colspec colnum="2" colwidth="3*"/> -->
 
                     <tbody>
                         <row>
-                            <entry valign="top">
+				    <entry valign="top"> 
                                 <para>
                                     <literal>&lt;p:list&gt;</literal>
                                 </para>
                             </entry>
-                            <entry valign="top">
+			       <entry valign="top"> 
                                 <!-- 
                     <para>
                         <emphasis>Description</emphasis>
@@ -899,12 +899,12 @@
                             </entry>
                         </row>
                         <row>
-                            <entry valign="top">
+				     <entry valign="top"> 
                                 <para>
                                     <literal>&lt;p:listItem&gt;</literal>
                                 </para>
                             </entry>
-                            <entry valign="top">
+			       <entry valign="top">
                                 <para>
                                     <emphasis>Description</emphasis>
                                 </para>
@@ -981,17 +981,17 @@
 
             <informaltable>
                 <tgroup cols="2">
-                    <colspec colnum="1" colwidth="1*"/>
-                    <colspec colnum="2" colwidth="3*"/>
+			<!--    <colspec colnum="1" colwidth="1*"/> -->
+			<!--    <colspec colnum="2" colwidth="3*"/> -->
 
                     <tbody>
                         <row>
-                            <entry valign="top">
-                                <para>
+				    <entry valign="top">
+			         <para>
                                     <literal>&lt;p:table&gt;</literal>
                                 </para>
                             </entry>
-                            <entry valign="top">
+			       <entry valign="top">
                                 <para>
                                     <emphasis>Description</emphasis>
                                 </para>
@@ -1136,12 +1136,12 @@
                             </entry>
                         </row>
                         <row>
-                            <entry valign="top">
+				    <entry valign="top"> 
                                 <para>
                                     <literal>&lt;p:cell&gt;</literal>
                                 </para>
                             </entry>
-                            <entry valign="top">
+			          <entry valign="top"> 
                                 <para>
                                     <emphasis>Description</emphasis>
                                 </para>
@@ -1393,17 +1393,17 @@
 
         <informaltable id="itext.barchart">
             <tgroup cols="2">
-                <colspec colnum="1" colwidth="1*"/>
-                <colspec colnum="2" colwidth="3*"/>
+		    <!--    <colspec colnum="1" colwidth="1*"/> -->
+		    <!--     <colspec colnum="2" colwidth="3*"/> -->
 
                 <tbody>
                     <row>
-                        <entry valign="top">
+			         <entry valign="top">
                             <para>
                                 <literal>&lt;p:barchart&gt;</literal>
                             </para>
-                        </entry>
-                        <entry valign="top">
+                        </entry> 
+			    <entry valign="top"> 
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -1597,12 +1597,12 @@
                         </entry>
                     </row>
                     <row>
-                        <entry valign="top">
+			         <entry valign="top">
                             <para>
                                 <literal>&lt;p:linechart&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+		    <entry valign="top"> 
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -1796,12 +1796,12 @@
                         </entry>
                     </row>
                     <row>
-                        <entry valign="top">
+			        <entry valign="top"> 
                             <para>
                                 <literal>&lt;p:piechart&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+			   <entry valign="top"> 
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -1948,12 +1948,12 @@
                         </entry>
                     </row>
                     <row>
-                        <entry valign="top">
+			          <entry valign="top">
                             <para>
                                 <literal>&lt;p:series&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+		   <entry valign="top"> 
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -2023,12 +2023,12 @@
                         </entry>
                     </row>
                     <row>
-                        <entry valign="top">
+			         <entry valign="top"> 
                             <para>
                                 <literal>&lt;p:data&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+			     <entry valign="top">
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -2088,12 +2088,12 @@
                         </entry>
                     </row>
                     <row>
-                        <entry valign="top">
+			            <entry valign="top">
                             <para>
                                 <literal>&lt;p:color&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+			    <entry valign="top"> 
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -2137,12 +2137,12 @@
                         </entry>
                     </row>
                     <row>
-                        <entry valign="top">
+			        <entry valign="top"> 
                             <para>
                                 <literal>&lt;p:stroke&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+			   <entry valign="top"> 
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -2212,17 +2212,17 @@
 
         <informaltable id="itext.barcode">
             <tgroup cols="2">
-                <colspec colnum="1" colwidth="1*"/>
-                <colspec colnum="2" colwidth="3*"/>
+		    <!--     <colspec colnum="1" colwidth="1*"/> -->
+		    <!--     <colspec colnum="2" colwidth="3*"/> -->
 
                 <tbody>
                     <row>
-                        <entry valign="top">
+			       <entry valign="top"> 
                             <para>
                                 <literal>&lt;p:barCode&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+		    <entry valign="top">
                             <para>
                                 <emphasis>Description</emphasis>
                             </para>
@@ -2330,17 +2330,17 @@
 
         <informaltable id="itext.swing">
             <tgroup cols="2">
-                <colspec colnum="1" colwidth="1*"/>
-                <colspec colnum="2" colwidth="3*"/>
+        <!--        <colspec colnum="1" colwidth="1*"/>
+                <colspec colnum="2" colwidth="3*"/> -->
 
                 <tbody>
                     <row>
-                        <entry valign="top">
+                      <entry valign="top"> 
                             <para>
                                 <literal>&lt;p:swing&gt;</literal>
                             </para>
                         </entry>
-                        <entry valign="top">
+                       <entry valign="top">
                             <para>
                                 <emphasis>Description</emphasis>  
                             </para>

Modified: projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Migration.xml
===================================================================
--- projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Migration.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Migration.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -397,12 +397,12 @@
          <table>
             <title>Component's in Seam 2</title>
             <tgroup cols="2">
-               <colspec colnum="1" colwidth="2*" />
+          <!--     <colspec colnum="1" colwidth="2*" />
                <colspec colnum="2" colwidth="2*" />
                <colspec colnum="3" colwidth="2*" />
                <colspec colnum="4" colwidth="2*" />
                <colspec colnum="5" colwidth="2*" />
-               <colspec colnum="6" colwidth="2*" />
+               <colspec colnum="6" colwidth="2*" /> -->
 
                <thead>
                   <row>

Modified: projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Security.xml
===================================================================
--- projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Security.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.2.1/Seam/Seam_Reference_Guide/en-US/Security.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -528,8 +528,8 @@
       <title>Security Message Keys</title>
 
       <tgroup cols="2">
-        <colspec colnum="1" colwidth="2*" />
-        <colspec colnum="2" colwidth="3*" />
+    <!--    <colspec colnum="1" colwidth="2*" />
+        <colspec colnum="2" colwidth="3*" /> -->
 
         <thead>
           <row>
@@ -1393,8 +1393,8 @@
       <title>Security Events</title>
 
       <tgroup cols="2">
-        <colspec colnum="1" colwidth="3*" />
-        <colspec colnum="2" colwidth="2*" />
+	      <!--     <colspec colnum="1" colwidth="3*" />
+        <colspec colnum="2" colwidth="2*" /> -->
 
         <thead>
           <row>

Modified: projects/docs/enterprise/4.3.2.1/readme/en-US/Release_Notes_CP02_FP01.xml
===================================================================
--- projects/docs/enterprise/4.3.2.1/readme/en-US/Release_Notes_CP02_FP01.xml	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.2.1/readme/en-US/Release_Notes_CP02_FP01.xml	2008-09-10 02:42:02 UTC (rev 78306)
@@ -9,7 +9,7 @@
 			</para>
 			<para>
 				This feature pack provides a fully supported way to upgrade Seam currently included in EAP
-				(Enterprise App Platform) 4.3 to the latest stable, production release (Seam 2.0.2). It also
+				(Enterprise App Platform) 4.3 to the latest stable, production release (Seam 2.0.2.FP). It also
 				includes a Technology Preview of Hibernate Search 3.0.
 			</para>
 	</section>
@@ -23,7 +23,7 @@
 			<itemizedlist>
 				<listitem>
 					<para>
-						Seam 2.0.2
+						Seam 2.0.2.FP
 					</para>
 				</listitem>
 				<listitem>
@@ -99,8 +99,13 @@
 			<para>
 				To install this Feature Pack, unpack the contents of the archive into the root of your JBoss Enterprise Application Platform installation, which must be version 4.3.0_CP02.
 			</para>
+			<important>
+				<para>
+					The contents of the Feature Pack should not be placed within a seperate folder in the EAP directory, but instead it should be intergrated with the current installation.
+				</para>
+			</important>
 			<para>
-				You must have adequate disk space to install the EAP Feature Pack while also allowing enough space for your applications. You must have a working installation of JDK 1.5 and JBoss Enterprise Application Platform 4.3.0_CP02. For the latest information on supported Operating System / JVM combinations, supported Database platforms and current information on the revision level of included components, please refer to <ulink url="http://www.jboss.com/products/platforms/application/testedconfigurations">http://www.jboss.com/products/platforms/application/testedconfigurations</ulink>.
+				You must have adequate disk space to install the EAP Feature Pack while also allowing enough space for your applications. You must have a working installation of JDK 1.5 or JDK 1.6 (JDK6) and JBoss Enterprise Application Platform 4.3.0_CP02. For the latest information on supported Operating System / JVM combinations, supported Database platforms and current information on the revision level of included components, please refer to <ulink url="http://www.jboss.com/products/platforms/application/testedconfigurations">http://www.jboss.com/products/platforms/application/testedconfigurations</ulink>.
 			</para>
 			<para>
 				For instructions on how to migrate your system from Seam 1.2 to Seam 2, refer to chapter 4 of the Seam Reference Guide included with this Feature Pack release. This chapter will guide you through the process.  
@@ -136,7 +141,7 @@
 					<itemizedlist>
 						<listitem>
 							<para>
-								<ulink url="ftp://ftp.redhat.com/pub/redhat/jbeap/4.3.0/en/source/jboss-eap-src-4.3.0.GA_CP02_FP01.zip"> ftp://ftp.redhat.com/pub/redhat/jbeap/4.3.0/en/source/jboss-eap-src-4.3.0>GA_CP02_FP01.zip</ulink>
+								<ulink url="ftp://ftp.redhat.com/pub/redhat/jbeap/4.3.0/en/source/jboss-eap-fp-src-4.3.0.FP.zip"> ftp://ftp.redhat.com/pub/redhat/jbeap/4.3.0/en/source/jboss-eap-fp-src-4.3.0.FP.zip</ulink>
 							</para>
 						</listitem>
 					</itemizedlist>
@@ -242,7 +247,7 @@
 		</para>
 		<important>
 			<para>
-				Seam 2.0.2.FP which is included within this Feature Pack now deploys to the EAP production server configuration instead of the default configuration since the EAP deploys using the production configuration unless instructed otherwise by the user.
+				Seam 2.0.2.FP which is included within this Feature Pack now deploys to the EAP production server configuration instead of the default configuration since the EAP executes using the production configuration unless instructed otherwise by the user.
 			</para>
 		</important>
 		<formalpara>
@@ -371,7 +376,7 @@
 				</listitem>
 				<listitem>
 					<para>
-						<ulink url="http://jira.jboss.com/jira/browse/JBSEAM-2956">JBSEAM-2956</ulink>: The example within Seam called <filename>sseambay</filename> threw an exception when placing a bid on the camera. This has been corrected by initializing the natural conversation ID at the correct time. 
+						<ulink url="http://jira.jboss.com/jira/browse/JBSEAM-2956">JBSEAM-2956</ulink>: The example within Seam called <filename>seambay</filename> threw an exception when placing a bid on the camera. This has been corrected by initializing the natural conversation ID at the correct time. 
 					</para>
 				</listitem>
 				</itemizedlist>

Modified: projects/docs/enterprise/4.3.3/Hibernate/Data_Access_Basics/Makefile
===================================================================
--- projects/docs/enterprise/4.3.3/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.3/Hibernate/Data_Access_Basics/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3.3/Hibernate/Data_Query/Makefile
===================================================================
--- projects/docs/enterprise/4.3.3/Hibernate/Data_Query/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.3/Hibernate/Data_Query/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3.3/Hibernate/Getting_Started/Makefile
===================================================================
--- projects/docs/enterprise/4.3.3/Hibernate/Getting_Started/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.3/Hibernate/Getting_Started/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3.3/Hibernate/Object_Relational_Mapping/Makefile
===================================================================
--- projects/docs/enterprise/4.3.3/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.3/Hibernate/Object_Relational_Mapping/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican

Modified: projects/docs/enterprise/4.3.3/Hibernate/Tools_And_Examples/Makefile
===================================================================
--- projects/docs/enterprise/4.3.3/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:23:20 UTC (rev 78305)
+++ projects/docs/enterprise/4.3.3/Hibernate/Tools_And_Examples/Makefile	2008-09-10 02:42:02 UTC (rev 78306)
@@ -4,6 +4,8 @@
 
 XML_LANG	= en-US
 
+BRAND = JBoss
+
 OTHER_LANGS	= as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
 
 COMMON_CONFIG  = /usr/share/publican




More information about the jboss-cvs-commits mailing list