[teiid-commits] teiid SVN: r1684 - in branches/JCA: jboss-embedded and 13 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Fri Dec 18 22:37:05 EST 2009


Author: rareddy
Date: 2009-12-18 22:37:05 -0500 (Fri, 18 Dec 2009)
New Revision: 1684

Added:
   branches/JCA/jboss-embedded/
   branches/JCA/jboss-embedded/pom.xml
   branches/JCA/jboss-embedded/src/
   branches/JCA/jboss-embedded/src/main/
   branches/JCA/jboss-embedded/src/main/resources/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/META-INF/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/META-INF/persistence.properties
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/commons-logging.properties
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/bootstrap-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jboss-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jbossjta-properties.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/login-config.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-roles.properties
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-users.properties
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/ejb3-interceptors-aop.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/hsqldb-ds.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-local-jdbc.rar/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-local-jdbc.rar/META-INF/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-xa-jdbc.rar
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jms-ra.rar
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/connection-factories-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/destinations-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/hsqldb-persistence-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/jms-ds.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/legacy-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/messaging-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/remoting-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/remoting-service.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/aspect-deployer-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb-deployer-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb3-deployers-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jboss-aspect-library-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jca-deployers-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/metadata-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/security-deployer-beans.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/jndi.properties
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/log4j.xml
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/stylesheets/
   branches/JCA/jboss-embedded/src/main/resources/bootstrap/stylesheets/NoJRMPConnectionFactoryTemplate.xsl
   branches/JCA/jboss-embedded/src/main/resources/readme.txt
Log:
TEIID-833: Adding Jboss Embedded for creating integrated container test environment


Property changes on: branches/JCA/jboss-embedded
___________________________________________________________________
Name: svn:ignore
   + .settings

.project

.classpath


Added: branches/JCA/jboss-embedded/pom.xml
===================================================================
--- branches/JCA/jboss-embedded/pom.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/pom.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,32 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>teiid</artifactId>
+    <groupId>org.jboss.teiid</groupId>
+    <version>7.0.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.jboss.teiid</groupId>
+  <artifactId>teiid-jboss-embedded</artifactId>
+  <name>teiid-jboss-embedded</name>
+  <version>7.0.0-SNAPSHOT</version>
+  <description>JBoss Embedded Engine for Testing Purposes</description>
+  
+  <dependencies>
+		<dependency>
+			<groupId>org.jboss.embedded</groupId>
+			<artifactId>jboss-embedded-all</artifactId>
+			<version>beta3.SP10</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jboss.embedded</groupId>
+			<artifactId>jboss-embedded</artifactId>
+			<version>beta3.SP10</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jboss.embedded</groupId>
+			<artifactId>thirdparty-all</artifactId>
+			<version>beta3.SP10</version>
+		</dependency>
+  </dependencies>
+  
+</project>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/META-INF/persistence.properties
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/META-INF/persistence.properties	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/META-INF/persistence.properties	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,17 @@
+hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
+#hibernate.connection.release_mode=after_statement
+#hibernate.transaction.flush_before_completion=false
+#hibernate.transaction.auto_close_session=false
+#hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory
+#hibernate.hbm2ddl.auto=create-drop
+#hibernate.hbm2ddl.auto=create
+hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
+# Clustered cache with TreeCache
+#hibernate.cache.provider_class=org.jboss.ejb3.entity.TreeCacheProviderHook
+#hibernate.treecache.mbean.object_name=jboss.cache:service=EJB3EntityTreeCache
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+hibernate.jndi.java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+hibernate.jndi.java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
+hibernate.bytecode.use_reflection_optimizer=false
+# I don't think this is honored, but EJB3Deployer uses it
+hibernate.bytecode.provider=javassist
\ No newline at end of file

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/commons-logging.properties
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/commons-logging.properties	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/commons-logging.properties	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,5 @@
+# The Sun JSF RI bundles and wraps commons-logging, which, for unknown reasons, disables any other
+# commons-logging (my guess: the LogFactoryImpl detection routine is broken). This configuration
+# file makes it work again (also for unknown reasons).
+org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
+org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
\ No newline at end of file

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/bootstrap-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/bootstrap-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/bootstrap-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The bootstrap of the server
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="SystemProperties" class="org.jboss.embedded.util.SystemProperties">
+      <property name="properties">
+         <map keyClass="java.lang.String" valueClass="java.lang.String">
+            <entry>
+               <key>jboss.bind.address</key>
+               <value>0.0.0.0</value>
+            </entry>
+            <entry>
+               <key>com.arjuna.ats.arjuna.common.propertiesFile</key>
+               <value>${jboss.home.dir}/conf/jbossjta-properties.xml</value>
+            </entry>
+            <entry>
+               <key>com.arjuna.ats.arjuna.objectstore.objectStoreDir</key>
+               <value>${jboss.server.data.dir}/ObjectStore</value>
+            </entry>
+         </map>
+      </property>
+   </bean>
+
+   <!-- The legacy JMX kernel -->
+   <bean name="JMXKernel" class="org.jboss.embedded.adapters.JMXKernel">
+      <property name="kernel">
+         <inject bean="jboss.kernel:service=Kernel"/>
+      </property>
+      <property name="serverConfig">
+         <inject bean="ServerConfig"/>
+      </property>
+   </bean>
+
+   <!-- The MainDeployer -->
+   <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
+      <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
+      <property name="deployers"><inject bean="Deployers"/></property>
+   </bean>
+
+   <!-- The holder for deployers that determine structure -->
+   <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
+      <property name="structureBuilder">
+         <!-- The consolidator of the structure information -->
+         <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
+      </property>
+      <!-- Accept any implementor of structure deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+      
+   <!-- The holder for deployers that do real deployment -->
+   <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
+      <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+      <!-- Accept any implementor of deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+
+   <!-- A declared structure descriptor deployer -->
+   <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"></bean>
+
+    <!-- JAR Structure -->
+    <bean name="JARStructure" class="org.jboss.deployers.vfs.plugins.structure.jar.JARStructure">
+       <!-- Unless specified the default list of suffixes is .zip, .ear, .jar, ,.rar, .war, .sar, .har, .aop -->
+       <constructor>
+          <parameter>
+             <set elementClass="java.lang.String">
+                <value>.zip</value>
+                <value>.ear</value>
+                <value>.jar</value>
+                <value>.rar</value>
+                <value>.war</value>
+                <value>.sar</value>
+                <value>.har</value>
+                <value>.aop</value>
+                <value>.deployer</value>
+                <value>.beans</value>
+             </set>
+          </parameter>
+       </constructor>
+       <property name="candidateStructureVisitorFactory">
+          <!-- Any file that is not an ordinary directory is a candidate -->
+          <bean name="JARStructureCandidates" class="org.jboss.deployers.vfs.spi.structure.helpers.DefaultCandidateStructureVisitorFactory">
+             <!-- A filter to exclude some obvious non-subdeployments -->
+             <property name="filter">
+                <bean name="JARFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter">
+                   <constructor><parameter>
+                      <list elementClass="java.lang.String">
+                         <!-- Exclude class files as subdeployments -->
+                         <value>.class</value>
+                      </list>
+                   </parameter></constructor>
+                </bean>
+             </property>
+          </bean>
+       </property>
+    </bean>
+
+    <!-- File Structure -->
+    <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure">
+       <!-- Unless specified the default list of suffixes is -service.xml, -beans.xml, -ds.xml, -aop.xml -->
+       <constructor>
+          <parameter>
+             <set elementClass="java.lang.String">
+                <value>-service.xml</value>
+                <value>-beans.xml</value>
+                <value>-ds.xml</value>
+                <value>-aop.xml</value>
+             </set>
+          </parameter>
+       </constructor>
+    </bean>
+
+   <!-- POJO Deployment -->
+   <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
+      <constructor><parameter><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
+      <property name="type">beans</property>
+   </bean>
+
+   <!-- JMX Deployment -->
+   <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer">
+      <property name="type">sar</property>
+   </bean>
+   <bean name="ServiceClassLoaderDeployer" class="org.jboss.embedded.ClassLoaderDeployer"/>
+   <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
+       <property name="type">sar</property>
+   </bean>
+   <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
+       <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
+       <property name="type">sar</property>
+   </bean>
+
+   <!-- A filter for excluding files from the scanner -->
+   <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
+      <!-- Files starting with theses strings are ignored -->
+      <property name="prefixes">#,%,\,,.,_$</property>
+      <!-- Files ending with theses strings are ignored -->
+      <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
+      <!-- Files matching with theses strings are ignored -->
+      <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
+   </bean>
+
+   <!--
+        JNDI Initialization of basic beans (NO REMOTING)
+     -->
+   <bean name="Naming" class="org.jnp.server.SingletonNamingServer"/>
+   <bean name="java:comp" class="org.jboss.naming.JavaCompInitializer"/>
+
+   <!-- register Naming bean with dispatcher just in case we want to have a remote JNDI connection -->
+   <bean name="JndiRegistration" class="org.jboss.aspects.remoting.DispatcherRegistration">
+      <property name="oid">JNDI</property>
+      <property name="target"><inject bean="Naming"/></property>
+   </bean>
+
+   <!--
+        Bootstrap old JMX-based core services
+        setup deployers
+        setup deploy/ directory
+     -->
+   <bean name="ResourcesToDeploy" class="org.jboss.embedded.DeploymentScanner">
+      <property name="filter">
+         <inject bean="DeploymentFilter"/>
+      </property>
+      <property name="mainDeployer">
+         <inject bean="MainDeployer"/>
+      </property>
+      <property name="kernel">
+         <inject bean="jboss.kernel:service=Kernel"/>
+      </property>
+      <property name="resources">
+         <list elementClass="java.lang.String">
+            <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml</value>
+         </list>
+      </property>
+   </bean>
+
+   <bean name="UserTransaction" class="org.jboss.embedded.adapters.LocalOnlyUserTransaction"/>
+
+   <bean name="UserTransactionBinding" class="org.jboss.naming.JndiBinder">
+      <property name="target">
+         <inject bean="UserTransaction"/>
+      </property>
+      <property name="bindTo">UserTransaction</property>
+      <property name="serializable">false</property>
+   </bean>
+
+   <!-- FIXME EMB-2 -->
+   <bean name="UserTransactionBinding2" class="org.jboss.naming.JndiBinder">
+      <property name="target">
+         <inject bean="UserTransaction"/>
+      </property>
+      <property name="bindTo">java:comp/UserTransaction</property>
+      <property name="serializable">false</property>
+   </bean>
+
+
+   <bean name="ResourcesToDeploy2" class="org.jboss.embedded.DeploymentScanner">
+      <property name="filter">
+         <inject bean="DeploymentFilter"/>
+      </property>
+      <property name="mainDeployer">
+         <inject bean="MainDeployer"/>
+      </property>
+      <property name="kernel">
+         <inject bean="jboss.kernel:service=Kernel"/>
+      </property>
+      <property name="directoriesByResource">
+         <list elementClass="java.lang.String">
+            <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml/../deployers</value>
+         </list>
+      </property>
+   </bean>
+   <bean name="ResourcesToDeploy3" class="org.jboss.embedded.DeploymentScanner">
+      <property name="filter">
+         <inject bean="DeploymentFilter"/>
+      </property>
+      <property name="mainDeployer">
+         <inject bean="MainDeployer"/>
+      </property>
+      <property name="kernel">
+         <inject bean="jboss.kernel:service=Kernel"/>
+      </property>
+      <property name="directoriesByResource">
+         <list elementClass="java.lang.String">
+            <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml/../deploy</value>
+         </list>
+      </property>
+   </bean>
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jboss-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jboss-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jboss-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: jboss-service.xml 58969 2006-12-11 01:17:41Z scott.stark at jboss.org $ -->
+
+<!-- ===================================================================== -->
+<!--  JBoss Server Configuration                                           -->
+<!-- ===================================================================== -->
+
+<server>
+
+   <!-- ==================================================================== -->
+   <!-- Main Deployer                                                        -->
+   <!-- ==================================================================== -->
+   <mbean code="org.jboss.deployment.MainDeployer"
+          name="jboss.system:service=MainDeployer">
+   	<!-- This is used to delegate the deployment handling -->
+      <attribute name="KernelMainDeployer"><inject bean="MainDeployer" /></attribute>
+   </mbean>
+
+   <!-- ==================================================================== -->
+   <!-- SAR Deployer                                                        -->
+   <!-- ==================================================================== -->
+   <mbean code="org.jboss.deployment.SARDeployer"
+          name="jboss.system:service=ServiceDeployer">
+      <depends>jboss.system:service=MainDeployer</depends>
+   </mbean>
+
+   <!-- ==================================================================== -->
+   <!-- Security                                                             -->
+   <!-- ==================================================================== -->
+
+   <mbean code="org.jboss.security.plugins.SecurityConfig"
+      name="jboss.security:service=SecurityConfig">
+      <attribute name="LoginConfig">jboss.security:service=XMLLoginConfig</attribute>
+      <depends>jboss.security:service=XMLLoginConfig</depends>
+   </mbean>
+   <mbean code="org.jboss.security.auth.login.XMLLoginConfig"
+      name="jboss.security:service=XMLLoginConfig">
+      <attribute name="ConfigResource">${jboss.embedded.bootstrap.resource.path}conf/login-config.xml</attribute>
+   </mbean>
+
+   <!-- JAAS security manager and realm mapping -->
+   <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
+      name="jboss.security:service=JaasSecurityManager">
+      <!-- A flag which indicates whether the SecurityAssociation server mode
+      is set on service creation. This is true by default since the
+      SecurityAssociation should be thread local for multi-threaded server
+      operation.
+      -->
+      <attribute name="ServerMode">true</attribute>
+      <attribute name="SecurityManagerClassName">org.jboss.security.plugins.JaasSecurityManager</attribute>
+      <attribute name="DefaultUnauthenticatedPrincipal">anonymous</attribute> 
+      <!-- DefaultCacheTimeout: Specifies the default timed cache policy timeout
+      in seconds.
+      If you want to disable caching of security credentials, set this to 0 to
+      force authentication to occur every time. This has no affect if the
+      AuthenticationCacheJndiName has been changed from the default value.
+      -->
+       <attribute name="DefaultCacheTimeout">1800</attribute>
+      <!-- DefaultCacheResolution: Specifies the default timed cache policy
+      resolution in seconds. This controls the interval at which the cache
+      current timestamp is updated and should be less than the DefaultCacheTimeout
+      in order for the timeout to be meaningful. This has no affect if the
+      AuthenticationCacheJndiName has been changed from the default value.
+      -->
+      <attribute name="DefaultCacheResolution">60</attribute>
+      <!-- DeepCopySubjectMode: This set the copy mode of subjects done by the
+      security managers to be deep copies that makes copies of the subject
+      principals and credentials if they are cloneable. It should be set to
+      true if subject include mutable content that can be corrupted when
+      multiple threads have the same identity and cache flushes/logout clearing
+      the subject in one thread results in subject references affecting other
+      threads.
+      -->
+      <attribute name="DeepCopySubjectMode">false</attribute>
+   </mbean> 
+
+   <!-- Authorization manager-->
+   <mbean code="org.jboss.security.plugins.AuthorizationManagerService"
+      name="jboss.security:service=AuthorizationManager"> 
+      <attribute name="AuthorizationManagerClassName">org.jboss.security.plugins.JBossAuthorizationManager</attribute>
+   </mbean>
+
+   <!-- ==================================================================== -->
+   <!-- Transactions                                                         -->
+   <!-- ==================================================================== -->
+   
+   <!-- JBossTS JTA -->
+   <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService"
+      name="jboss:service=TransactionManager">
+      <attribute name="TransactionTimeout">300</attribute>
+      <attribute name="ObjectStoreDir">${jboss.server.data.dir}/tx-object-store</attribute>      
+   </mbean>
+
+   <mbean code="org.jboss.util.threadpool.BasicThreadPool"
+          name="jboss.jca:service=WorkManagerThreadPool">
+      <!-- The name that appears in thread names -->
+      <attribute name="Name">WorkManager</attribute>
+      <!-- The maximum amount of work in the queue -->
+      <attribute name="MaximumQueueSize">1024</attribute>
+      <!-- The maximum number of active threads -->
+      <attribute name="MaximumPoolSize">100</attribute>
+      <!-- How long to keep threads alive after their last work (default one minute) -->
+      <attribute name="KeepAliveTime">60000</attribute>
+   </mbean>
+
+   <mbean code="org.jboss.resource.work.JBossWorkManager"
+          name="jboss.jca:service=WorkManager">
+      <depends optional-attribute-name="ThreadPoolName">jboss.jca:service=WorkManagerThreadPool</depends>
+      <depends optional-attribute-name="XATerminatorName">jboss:service=TransactionManager</depends>
+   </mbean>
+
+   <!--
+      | The CachedConnectionManager is used partly to relay started UserTransactions to 
+      | open connections so they may be enrolled in the new tx.
+    -->
+   <mbean code="org.jboss.resource.connectionmanager.CachedConnectionManager"
+          name="jboss.jca:service=CachedConnectionManager">
+     <depends optional-attribute-name="TransactionManagerServiceName">jboss:service=TransactionManager</depends>
+
+     <!-- Enable connection close debug monitoring -->
+     <attribute name="Debug">true</attribute>
+
+   </mbean>
+
+   <mbean code="org.jboss.naming.JNDIView"
+   	name="jboss:service=JNDIView">
+   	<!-- The HANamingService service name -->
+   	<attribute name="HANamingService">jboss:service=HAJNDI</attribute>
+   </mbean>
+
+</server>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jbossjta-properties.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jbossjta-properties.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/jbossjta-properties.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<transaction-service>
+    <properties depends="common" name="arjuna">
+        <!--
+        Transaction Reaper Timeout (default is 120000 ms).
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.coordinator.txReaperTimeout" value="120000"/>
+        <!--
+        Transaction Reaper Mode, can be: NORMAL or DYNAMIC (default is NORMAL).
+      -->
+        <property name="com.arjuna.ats.arjuna.coordinator.txReaperMode" value="DYNAMIC"/>
+        <!--
+        Transaction Reaper Cancel Wait Period (default is 500 ms, min is 10 msecs).
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.coordinator.txReaperCancelWaitPeriod" value="500"/>
+        <!--
+        Transaction Reaper Cancel Fail Wait Period (default is 500 ms, min is 10 msecs).
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.coordinator.txReaperCancelFailWaitPeriod" value="500"/>
+        <!--
+        Transaction Reaper Zombie Max (default is 8).
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.coordinator.txReaperZombieMax" value="8"/>
+        <!--
+        (default is NO)
+      -->
+        <property name="com.arjuna.ats.arjuna.coordinator.asyncCommit" value="NO"/>
+        <!--
+        (default is NO)
+      -->
+        <property name="com.arjuna.ats.arjuna.coordinator.asyncPrepare" value="NO"/>
+        <!--
+        (default is YES)
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.coordinator.commitOnePhase" value="YES"/>
+        <!--
+        (default is defaultStore)
+      -->
+        <property name="com.arjuna.ats.arjuna.objectstore.localOSRoot" value="defaultStore"/>
+        <!--
+        default is under user.home - must be writeable!)
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.objectstore.objectStoreDir" value="PutObjectStoreDirHere"/>
+        <!--
+        (default is ON)
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.objectstore.objectStoreSync" value="ON"/>
+        <!--
+        (default is ShadowNoFileLockStore)
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.objectstore.objectStoreType" value="ShadowNoFileLockStore"/>
+        <!--
+        (default is 255)
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.objectstore.hashedDirectories" value="255"/>
+        <!--
+        (default is ON)
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.objectstore.transactionSync" value="ON"/>
+        <!--
+        (Must be unique across all Arjuna instances.)
+      -->
+        <property name="com.arjuna.ats.arjuna.xa.nodeIdentifier" value="1"/>
+        <!-- property
+        name="com.arjuna.ats.arjuna.coordinator.actionStore"
+		value="HashedActionStore"
+		value="JDBCActionStore"
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess"
+		value="JDBCAccess"
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.objectstore.objectStoreType"
+		value="ShadowNoFileLockStore"
+		value="JDBCStore"
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess"
+		value="JDBCAccess"
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeInitial"
+		value="1"
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeMaximum"
+		value="1"
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.objectstore.jdbcPoolPutConnections"
+		value="false"
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.size"
+		value=""
+      -->
+        <!-- property
+        name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.period"
+		value=""
+      -->
+        <!--
+        The location for creating temporary files, e.g., Uids.
+        Default is under user.home.
+        IMPORTANT: make sure the directory is lockable, e.g., /tmp on Unix
+        may not be!
+      -->
+        <!--
+        <property
+          name="com.arjuna.ats.arjuna.common.varDir"
+          value="var"/>
+      -->
+    </properties>
+    <properties name="common">
+        <!-- CLF 2.0 properties -->
+        <property name="com.arjuna.common.util.logging.DebugLevel"
+            type="System" value="0x00000000"/>
+        <property name="com.arjuna.common.util.logging.FacilityLevel"
+            type="System" value="0xffffffff"/>
+        <property name="com.arjuna.common.util.logging.VisibilityLevel"
+            type="System" value="0xffffffff"/>
+        <property name="com.arjuna.common.util.logger" type="System" value="log4j"/>
+    </properties>
+    <properties depends="arjuna" name="txoj">
+        <!--
+        (default is LockStore of installation - must be writeable!)
+      -->
+        <!--
+        <property
+          name="com.arjuna.ats.txoj.lockstore.lockStoreDir"
+          value="LockStore"/>
+      -->
+        <!--
+        (default is BasicLockStore)
+      -->
+        <property name="com.arjuna.ats.txoj.lockstore.lockStoreType" value="BasicLockStore"/>
+        <!--
+        (default is NO)
+      -->
+        <property name="com.arjuna.ats.txoj.lockstore.multipleLockStore" value="NO"/>
+        <!--
+        (default is YES)
+      -->
+        <property name="com.arjuna.ats.txoj.lockstore.singleLockStore" value="YES"/>
+        <!--
+        (default is YES)
+      -->
+        <property
+            name="com.arjuna.ats.txoj.lockstore.allowNestedLocking" value="YES"/>
+    </properties>
+    <properties depends="arjuna" name="jta">
+        <!--
+        Support subtransactions in the JTA layer?
+        Default is NO.
+      -->
+        <property name="com.arjuna.ats.jta.supportSubtransactions" value="NO"/>
+        <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>
+        <!--
+			com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple
+			-->
+        <property name="com.arjuna.ats.jta.jtaUTImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
+        <!--
+			com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple
+			-->
+    </properties>
+    <properties depends="arjuna,txoj,jta" name="recoverymanager">
+        <!--
+        Properties used only by the RecoveryManager.
+      -->
+        <!--
+        Periodic recovery settings.
+        Time values in this section are in seconds.
+      -->
+        <!--
+        Interval in seconds between initiating the periodic recovery modules.
+        Default is 120 seconds.
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod" value="120"/>
+        <!--
+        Interval in seconds between first and second pass of periodic recovery.
+        Default is 10 seconds.
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod" value="10"/>
+        <!--
+        Periodic recovery modules to use.  Invoked in sort-order of names.
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.recovery.recoveryExtension1" value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
+        <property
+            name="com.arjuna.ats.arjuna.recovery.recoveryExtension2" value="com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"/>
+        <property
+            name="com.arjuna.ats.arjuna.recovery.recoveryExtension3" value="com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"/>
+        <!--
+        Expired entry removal
+      -->
+        <!--
+        Expiry scanners to use (order of invocation is random).
+        Names must begin with "com.arjuna.ats.arjuna.recovery.expiryScanner"
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.recovery.expiryScannerTransactionStatusManager" value="com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner"/>
+        <!--
+        Interval, in hours, between running the expiry scanners.
+        This can be quite long. The absolute value determines the interval -
+        if the value is negative, the scan will NOT be run until after one
+        interval has elapsed. If positive the first scan will be immediately
+        after startup. Zero will prevent any scanning.
+        Default  = 12 = run immediately, then every 12 hours.
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.recovery.expiryScanInterval" value="12"/>
+        <!--
+        Age, in hours, for removal of transaction status manager item.
+        This should be longer than any ts-using process will remain running.
+        Zero = Never removed.  Default is 12.
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime" value="12"/>
+        <!--
+        Use this to fix the port on which the TransactionStatusManager listens,
+        The default behaviour is to use any free port.
+      -->
+        <property
+            name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="0"/>
+    </properties>
+    <properties depends="jta" name="jdbc">
+        <!--
+           property name="com.arjuna.ats.jdbc.isolationLevel" value="TRANSACTION_SERIALIZABLE"/>
+        -->
+    </properties>
+</transaction-service>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/login-config.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/login-config.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/login-config.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,86 @@
+<?xml version='1.0'?>
+
+<!DOCTYPE policy PUBLIC
+      "-//JBoss//DTD JBOSS Security Config 3.0//EN"
+      "http://www.jboss.org/j2ee/dtd/security_config.dtd">
+
+<!-- The XML based JAAS login configuration read by the
+org.jboss.security.auth.login.XMLLoginConfig mbean. Add
+an application-policy element for each security domain.
+
+The outline of the application-policy is:
+<application-policy name="security-domain-name">
+  <authentication>
+    <login-module code="login.module1.class.name" flag="control_flag">
+      <module-option name = "option1-name">option1-value</module-option>
+      <module-option name = "option2-name">option2-value</module-option>
+      ...
+    </login-module>
+
+    <login-module code="login.module2.class.name" flag="control_flag">
+      ...
+    </login-module>
+    ...
+  </authentication>
+</application-policy>
+
+$Revision: 42748 $
+-->
+
+<policy>
+   <application-policy name="HsqlDbRealm">
+     <authentication>
+       <login-module code="org.jboss.resource.security.ConfiguredIdentityLoginModule"
+         flag="required">
+         <module-option name="principal">sa</module-option>
+         <module-option name="userName">sa</module-option>
+         <module-option name="password"></module-option>
+         <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=DefaultDS</module-option>
+       </login-module>
+     </authentication>
+   </application-policy>
+
+   <application-policy name="messaging">
+      <authentication>
+         <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag = "required">
+            <module-option name="unauthenticatedIdentity">guest</module-option>
+            <module-option name="usersProperties">conf/props/messaging-users.properties</module-option>
+            <module-option name="rolesProperties">conf/props/messaging-roles.properties</module-option>
+         </login-module>
+      </authentication>
+   </application-policy>
+
+   
+  <!-- Used by clients within the application server VM such as
+  mbeans and servlets that access EJBs.
+  -->
+  <application-policy name="client-login">
+    <authentication>
+      <login-module code="org.jboss.security.ClientLoginModule"
+        flag="required">
+         <!-- Any existing security context will be restored on logout -->
+         <module-option name="restore-login-identity">true</module-option>
+      </login-module>
+    </authentication>
+  </application-policy>
+
+  <application-policy name="other">
+    <!-- A simple server login module, which can be used when the number
+    of users is relatively small. It uses two properties files:
+    users.properties, which holds users (key) and their password (value).
+    roles.properties, which holds users (key) and a comma-separated list of
+    their roles (value).
+    The unauthenticatedIdentity property defines the name of the principal
+    that will be used when a null username and password are presented as is
+    the case for an unuathenticated web client or MDB. If you want to
+    allow such users to be authenticated add the property, e.g.,
+    unauthenticatedIdentity="nobody"
+    -->
+    <authentication>
+      <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
+        flag="required"/>
+    </authentication>
+  </application-policy>
+
+</policy>
+

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-roles.properties
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-roles.properties	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-roles.properties	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,4 @@
+#
+# user=role1,role2,...
+#
+guest=guest

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-users.properties
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-users.properties	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/conf/props/messaging-users.properties	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,4 @@
+#
+# user=password
+#
+guest=guest

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/ejb3-interceptors-aop.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/ejb3-interceptors-aop.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/ejb3-interceptors-aop.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE aop PUBLIC
+   "-//JBoss//DTD JBOSS AOP 1.0//EN"
+   "http://labs.jboss.com/portal/jbossaop/dtd/jboss-aop_1_0.dtd">
+
+<aop>
+   <interceptor class="org.jboss.aspects.remoting.InvokeRemoteInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.aspects.security.SecurityClientInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.aspects.tx.ClientTxPropagationInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.remoting.IsLocalInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.aspects.remoting.ClusterChooserInterceptor" scope="PER_VM"/>
+
+   <interceptor class="org.jboss.aspects.tx.TxPropagationInterceptor" scope="PER_VM"/>
+
+   <stack name="ServiceClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="AsynchronousStatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="AsynchronousStatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="StatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="StatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="ClusteredStatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="ClusteredStatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <interceptor class="org.jboss.ejb3.asynchronous.AsynchronousInterceptor" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.ENCPropagationInterceptor" scope="PER_VM"/>
+   <interceptor name="Basic Authorization" factory="org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor name="JACC Authorization" factory="org.jboss.ejb3.security.JaccAuthorizationInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor factory="org.jboss.ejb3.security.AuthenticationInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor factory="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.stateless.StatelessInstanceInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.stateful.StatefulInstanceInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.service.ServiceSingletonInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.cache.StatefulReplicationInterceptor" scope="PER_VM"/>
+   <interceptor factory="org.jboss.ejb3.stateful.StatefulRemoveFactory" scope="PER_CLASS_JOINPOINT"/>
+   <interceptor factory="org.jboss.ejb3.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/>
+   <interceptor factory="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory" scope="PER_CLASS_JOINPOINT"/>
+   <interceptor factory="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.AllowedOperationsInterceptor" scope="PER_VM"/>
+   <interceptor factory="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor" scope="PER_VM"/>
+
+   <domain name="Stateless Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Pool)">
+         @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+   </domain>
+
+   <domain name="JACC Stateless Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+         <interceptor-ref name="JACC Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Pool)">
+         @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+   </domain>
+
+   <domain name="Base Stateful Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
+      </bind>
+
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
+      </bind>
+
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Pool)">
+         @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+   </domain>
+
+   <domain name="Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
+      <!-- NON Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Cache) AND !class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.Cache ("SimpleStatefulCache")
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.PersistenceManager) AND !class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.PersistenceManager ("StatefulSessionFilePersistenceManager")
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.CacheConfig) AND !class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.CacheConfig (maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+      </annotation>
+
+      <!-- Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Cache) AND class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.Cache ("StatefulTreeCache")
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.CacheConfig) AND class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+      </annotation>
+   </domain>
+
+   <domain name="JACC Stateful Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+         <interceptor-ref name="JACC Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Pool)">
+         @org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+
+      <!-- NON Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Cache) AND !class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.Cache ("SimpleStatefulCache")
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.PersistenceManager) AND !class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.PersistenceManager ("StatefulSessionFilePersistenceManager")
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.CacheConfig) AND !class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.CacheConfig (maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+      </annotation>
+
+      <!-- Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Cache) AND class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.Cache ("StatefulTreeCache")
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.CacheConfig) AND class(@org.jboss.ejb3.annotation.Clustered)">
+         @org.jboss.ejb3.annotation.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
+      </annotation>
+   </domain>
+
+   <domain name="Embedded Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
+      <!-- NON Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Cache)">
+         @org.jboss.ejb3.annotation.Cache ("NoPassivationCache")
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+
+   </domain>
+
+   <domain name="Message Driven Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <!-- TODO: Authorization? -->
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Pool)">
+         @org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=15, timeout=10000)
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+   </domain>
+
+   <domain name="Consumer Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..)) AND (has(* *->@org.jboss.ejb3.annotation.CurrentMessage(..)) OR hasfield(* *->@org.jboss.ejb3.annotation.CurrentMessage))">
+         <interceptor-ref name="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.Pool)">
+         @org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=15, timeout=10000)
+      </annotation>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+   </domain>
+
+   <domain name="Service Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+      </bind>
+      <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+   </domain>
+
+   <domain name="JACC Service Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+      </bind>
+      <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.ejb3.annotation.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.ejb3.annotation.JndiBindingPolicy)">
+         @org.jboss.ejb3.annotation.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy.class)
+      </annotation>
+   </domain>
+
+</aop>
\ No newline at end of file

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/hsqldb-ds.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/hsqldb-ds.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/hsqldb-ds.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- The Hypersonic embedded database JCA connection factory config -->
+
+<!-- $Id: hsqldb-ds.xml 39791 2006-01-10 18:14:42Z dimitris $ -->
+
+<datasources>
+   <local-tx-datasource>
+
+      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
+      <!-- Datasources are not available outside the virtual machine -->
+      <jndi-name>DefaultDS</jndi-name>
+
+      <!-- For server mode db, allowing other processes to use hsqldb over tcp.
+      This requires the org.jboss.jdbc.HypersonicDatabase mbean.
+      <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1701</connection-url>
+      -->
+      <!-- For totally in-memory db, not saved when jboss stops. 
+      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      -->
+      <!-- For in-process persistent db, saved when jboss stops.
+      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+      -->
+      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
+
+      <!-- The driver class -->
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+
+      <!-- The login and password -->
+      <user-name>sa</user-name>
+      <password></password>
+
+      <!--example of how to specify class that determines if exception means connection should be destroyed-->
+      <!--exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name-->
+
+      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
+      <!--<check-valid-connection-sql>select * from something</check-valid-connection-sql> -->
+
+      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
+      <min-pool-size>0</min-pool-size>
+
+      <!-- The maximum connections in a pool/sub-pool -->
+      <max-pool-size>20</max-pool-size>
+
+      <!-- The time before an unused connection is destroyed -->
+      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
+      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
+      <idle-timeout-minutes>0</idle-timeout-minutes>
+
+      <!-- sql to call when connection is created
+        <new-connection-sql>some arbitrary sql</new-connection-sql>
+      -->
+
+      <!-- sql to call on an existing pooled connection when it is obtained from pool 
+         <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
+      -->
+
+      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool
+         <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
+      -->
+
+      <!-- Whether to check all statements are closed when the connection is returned to the pool,
+           this is a debugging feature that should be turned off in production -->
+      <track-statements/>
+
+      <!-- Use the getConnection(user, pw) for logins
+        <application-managed-security/>
+      -->
+
+      <!-- Use the security domain defined in conf/login-config.xml -->
+      <security-domain>HsqlDbRealm</security-domain>
+
+      <!-- Use the security domain defined in conf/login-config.xml or the
+           getConnection(user, pw) for logins. The security domain takes precedence.
+        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+      -->
+
+      <!-- HSQL DB benefits from prepared statement caching -->
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+
+      <!-- When using in-process (standalone) mode -->
+      <depends>jboss:service=Hypersonic,database=localDB</depends>
+      <!-- Uncomment when using hsqldb in server mode
+      <depends>jboss:service=Hypersonic</depends>
+      -->
+   </local-tx-datasource>
+
+   <!-- Uncomment if you want hsqldb accessed over tcp (server mode)
+   <mbean code="org.jboss.jdbc.HypersonicDatabase" 
+     name="jboss:service=Hypersonic">
+     <attribute name="Port">1701</attribute>
+     <attribute name="BindAddress">${jboss.bind.address}</attribute>     
+     <attribute name="Silent">true</attribute>
+     <attribute name="Database">default</attribute>
+     <attribute name="Trace">false</attribute>
+     <attribute name="No_system_exit">true</attribute>
+   </mbean>
+   -->
+
+   <!-- For hsqldb accessed from jboss only, in-process (standalone) mode --> 
+   <mbean code="org.jboss.jdbc.HypersonicDatabase" 
+     name="jboss:service=Hypersonic,database=localDB">
+     <attribute name="Database">localDB</attribute>
+     <attribute name="InProcessMode">true</attribute>
+   </mbean>
+   
+</datasources>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-local-jdbc.rar/META-INF/ra.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-local-jdbc.rar/META-INF/ra.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: ra.xml 62224 2007-04-10 16:23:42Z vicky.kak at jboss.com $ -->
+
+<connector xmlns="http://java.sun.com/xml/ns/j2ee"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
+           version="1.5">
+
+   <description>JBoss LocalTransaction JDBC Wrapper Resource Adapter</description>
+   <display-name>JBoss LocalTransaction JDBC Wrapper</display-name>
+
+   <vendor-name>JBoss, Inc</vendor-name>
+   <eis-type>JDBC 3.0 Relational Database</eis-type>
+   <resourceadapter-version>5.0</resourceadapter-version>
+   
+   <license>
+      <description>
+ JBoss, Home of Professional Open Source
+ Copyright 2005, JBoss Inc., and individual contributors as indicated
+ by the @authors tag. See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+      </description>
+      <license-required>true</license-required>
+   </license>
+   
+   <resourceadapter>
+      <resourceadapter-class>org.jboss.resource.deployment.DummyResourceAdapter</resourceadapter-class>
+
+      <outbound-resourceadapter>
+         <connection-definition>
+            <managedconnectionfactory-class>org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory</managedconnectionfactory-class>
+            <config-property>
+               <description>The jdbc driver class.</description>
+               <config-property-name>DriverClass</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The jdbc connection url class.</description>
+               <config-property-name>ConnectionURL</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The jdbc connection url delimeter.</description>
+               <config-property-name>URLDelimiter</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The configurable URLSelectorStrategy class name.</description>
+               <config-property-name>UrlSelectorStrategyClassName</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The default transaction isolation of the connections.</description>
+               <config-property-name>TransactionIsolation</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The number of cached prepared statements per connection.</description>
+               <config-property-name>PreparedStatementCacheSize</config-property-name>
+               <config-property-type>java.lang.Integer</config-property-type>
+            </config-property>
+            <config-property>
+               <description>Whether to share prepared statements.</description>
+               <config-property-name>SharePreparedStatements</config-property-name>
+               <config-property-type>java.lang.Boolean</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The user name to connect to the database.</description>
+               <config-property-name>UserName</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The password to connect to the database.</description>
+               <config-property-name>Password</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>Connection properties for the database.</description>
+               <config-property-name>ConnectionProperties</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>An SQL statement to be executed when a new connection is created as auxillary setup.</description>
+               <config-property-name>NewConnectionSQL</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>An SQL statement that may be executed when a managed connection is taken out of the pool and is about to be given to a client: the purpose is to verify that the connection still works.</description>
+               <config-property-name>CheckValidConnectionSQL</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The fully qualified name of a class implementing org.jboss.resource.adapter.jdbc.ValidConnectionChecker that can determine for a particular vender db when a connection is valid.</description>
+               <config-property-name>ValidConnectionCheckerClassName</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>The fully qualified name of a class implementing org.jboss.resource.adapter.jdbc.ExceptionSorter that can determine for a particular vender db which exceptions are fatal and mean a connection should be discarded.</description>
+               <config-property-name>ExceptionSorterClassName</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+			<config-property>
+               <description>The fully qualified name of a class implementing org.jboss.resource.adapter.jdbc.StaleConnectionChecker that can determine for a particular vender db when a connection is stale.</description>
+               <config-property-name>StaleConnectionCheckerClassName</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>			
+            <config-property>
+               <description>Whether to track unclosed statements - false/true/nowarn</description>
+               <config-property-name>TrackStatements</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>
+            <config-property>
+               <description>Whether to validate the connection on the ManagedConnectionFactory.matchManagedConnection method</description>
+               <config-property-name>ValidateOnMatch</config-property-name>
+               <config-property-type>java.lang.Boolean</config-property-type>
+            </config-property>            
+            <config-property>
+               <description>Whether to set the query timeout based on the transaction timeout</description>
+               <config-property-name>TransactionQueryTimeout</config-property-name>
+               <config-property-type>java.lang.Boolean</config-property-type>
+            </config-property>
+            <config-property>
+               <description>A configured query timeout</description>
+               <config-property-name>QueryTimeout</config-property-name>
+               <config-property-type>java.lang.Integer</config-property-type>
+            </config-property>
+            <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
+            <connectionfactory-impl-class>org.jboss.resource.adapter.jdbc.WrapperDataSource</connectionfactory-impl-class>
+            <connection-interface>java.sql.Connection</connection-interface>
+            <connection-impl-class>org.jboss.resource.adapter.jdbc.WrappedConnection</connection-impl-class>
+         </connection-definition>
+         <transaction-support>LocalTransaction</transaction-support>
+         <authentication-mechanism>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+         </authentication-mechanism>
+         <reauthentication-support>false</reauthentication-support>
+      </outbound-resourceadapter>
+
+   </resourceadapter>
+</connector>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-xa-jdbc.rar
===================================================================
(Binary files differ)


Property changes on: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jboss-xa-jdbc.rar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jms-ra.rar
===================================================================
(Binary files differ)


Property changes on: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/jms-ra.rar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/connection-factories-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/connection-factories-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/connection-factories-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     Messaging Connection Factories deployment descriptor.
+
+     $Id: connection-factories-service.xml 3201 2007-10-19 10:39:50Z timfox $
+ -->
+
+<server>
+
+   <!-- The default connection factory does not support automatic failover or load balancing-
+        this is so we can maintain compatiblity with applications written for JBoss MQ which use this
+        connection factory.
+   -->     
+   <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+      name="jboss.messaging.connectionfactory:service=ConnectionFactory"
+      xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+
+      <attribute name="JNDIBindings">
+         <bindings>
+            <binding>/ConnectionFactory</binding>
+            <binding>/XAConnectionFactory</binding>
+            <binding>java:/ConnectionFactory</binding>
+            <binding>java:/XAConnectionFactory</binding>
+         </bindings>
+      </attribute>
+   </mbean>
+
+   <!-- A clustered connection factory that supports automatic failover and load balancing of created
+        connections.
+        This factory is not suitable to be used by MDBs.
+   -->
+   <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+      name="jboss.messaging.connectionfactory:service=ClusteredConnectionFactory"
+      xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+
+      <attribute name="JNDIBindings">
+         <bindings>
+            <binding>/ClusteredConnectionFactory</binding>
+            <binding>/ClusteredXAConnectionFactory</binding>
+            <binding>java:/ClusteredConnectionFactory</binding>
+            <binding>java:/ClusteredXAConnectionFactory</binding>
+         </bindings>
+      </attribute>
+
+      <attribute name="SupportsFailover">true</attribute>
+      <attribute name="SupportsLoadBalancing">true</attribute>      
+   </mbean>
+   
+   <!-- A connection factory with no JNDI bindings that is used in clustering to create the connections that
+        pull messages from one node to another
+   -->
+   <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+      name="jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory"
+      xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="SupportsFailover">false</attribute>
+      <attribute name="SupportsLoadBalancing">false</attribute>      
+   </mbean>
+   
+   <!-- An example connection factory with all attributes shown 
+   
+   <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+      name="jboss.messaging.connectionfactory:service=MyExampleConnectionFactory"
+      xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+      
+      <constructor>
+      
+         <!- - You can specify the default Client ID to use for connections created using this factory - -> 
+         
+         <arg type="java.lang.String" value="MyClientID"/>
+         
+      </constructor>
+      
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      
+      <!- - The transport to use - can be bisocket, sslbisocket or http - ->
+      
+      <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=http</depends>
+      
+      <depends>jboss.messaging:service=PostOffice</depends>
+      
+      <!- - PrefetchSize determines the approximate maximum number of messages the client consumer will buffer locally - ->
+      
+      <attribute name="PrefetchSize">150</attribute>
+      
+      <!- - Paging params to be used for temporary queues - ->
+      
+      <attribute name="DefaultTempQueueFullSize">200000</attribute>
+      
+      <attribute name="DefaultTempQueuePageSizeSize">2000</attribute>
+      
+      <attribute name="DefaultTempQueueDownCacheSize">2000</attribute>
+      
+      <!- - The batch size to use when using the DUPS_OK_ACKNOWLEDGE acknowledgement mode - ->
+      
+      <attribute name="DupsOKBatchSize">5000</attribute>
+      
+      <!- - Does this connection factory support automatic failover? - ->
+      
+      <attribute name="SupportsFailover">false</attribute>
+      
+      <!- - Does this connection factory support automatic client side load balancing? - ->
+      
+      <attribute name="SupportsLoadBalancing">false</attribute>  
+            
+      <!- - The class name of the factory used to create the load balancing policy to use on the client side - ->
+      
+      <attribute name="LoadBalancingFactory">org.jboss.jms.client.plugin.RoundRobinLoadBalancingFactory</attribute>  
+
+      <!- - Whether we should be strict TCK compliant, i.e. how we deal with foreign messages, defaults to false- ->
+
+      <attribute name="StrictTck">false</attribute>
+      
+      <!- - Disable JBoss Remoting Connector sanity checks - There is rarely a good reason to set this to true - ->
+      
+      <attribute name="DisableRemotingChecks">false</attribute>
+
+      <!- - The connection factory will be bound in the following places in JNDI - ->
+
+      <attribute name="JNDIBindings">
+      
+         <bindings>
+         
+            <binding>/acme/MyExampleConnectionFactory</binding>
+            
+            <binding>/acme/MyExampleConnectionFactoryDupe</binding>
+            
+            <binding>java:/xyz/CF1</binding>
+            
+            <binding>java:/connectionfactories/acme/connection_factory</binding>
+            
+         </bindings>
+         
+      </attribute>   
+       
+   </mbean>
+   
+   -->
+
+</server>
\ No newline at end of file

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/destinations-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/destinations-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/destinations-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     Messaging Destinations deployment descriptor.
+
+     $Id: destinations-service.xml 64130 2007-07-18 23:21:27Z clebert.suconic at jboss.com $
+ -->
+
+<server>
+
+   <!--
+      The Default Dead Letter Queue. This destination is a dependency of an EJB MDB container.
+   -->
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=DLQ"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>      
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>
+   
+   <!--
+      The Default Expiry Queue.
+   -->
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=ExpiryQueue"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>      
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>   
+
+
+</server>
\ No newline at end of file

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/hsqldb-persistence-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/hsqldb-persistence-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/hsqldb-persistence-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     Hypersonic persistence deployment descriptor.
+     
+     DO NOT USE HYPERSONIC IN PRODUCTION or in a clustered environment- Hypersonic does not have transaction isolation
+
+     $Id: hsqldb-persistence-service.xml 64152 2007-07-20 05:03:00Z clebert.suconic at jboss.com $
+ -->
+
+<server>
+
+   <!-- Persistence Manager MBean configuration
+       ======================================= -->
+   
+   <mbean code="org.jboss.messaging.core.jmx.JDBCPersistenceManagerService"
+      name="jboss.messaging:service=PersistenceManager"
+      xmbean-dd="xmdesc/JDBCPersistenceManager-xmbean.xml">
+      
+      <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+      
+      <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+            
+      <!-- The datasource to use for the persistence manager -->
+                                
+      <attribute name="DataSource">java:/DefaultDS</attribute>
+      
+      <!-- If true will attempt to create tables and indexes on every start-up -->
+                  
+      <attribute name="CreateTablesOnStartup">true</attribute>
+      
+      <!-- If true then will use JDBC batch updates -->
+                 
+      <attribute name="UsingBatchUpdates">false</attribute>
+      
+      <!-- The maximum number of parameters to include in a prepared statement -->            
+      
+      <attribute name="MaxParams">500</attribute>
+   </mbean>
+
+   <!-- Messaging Post Office MBean configuration
+        ========================================= -->
+   
+   <mbean code="org.jboss.messaging.core.jmx.MessagingPostOfficeService"
+      name="jboss.messaging:service=PostOffice"      
+      xmbean-dd="xmdesc/MessagingPostOffice-xmbean.xml">
+            
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      
+      <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+      
+      <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+      
+      <!-- The name of the post office -->      
+                 
+      <attribute name="PostOfficeName">JMS post office</attribute>
+      
+      <!-- The datasource used by the post office to access it's binding information -->                       
+      
+      <attribute name="DataSource">java:/DefaultDS</attribute>
+      
+      <!-- If true will attempt to create tables and indexes on every start-up -->
+                        
+      <attribute name="CreateTablesOnStartup">true</attribute>
+      
+      <!-- This post office is NON CLUSTERED - do not use clustering with Hypersonic!! -->
+      
+      <attribute name="Clustered">false</attribute>
+   </mbean>
+
+   <!-- Messaging JMS User Manager MBean config
+        ======================================= -->
+   
+   <mbean code="org.jboss.jms.server.plugin.JDBCJMSUserManagerService"
+      name="jboss.messaging:service=JMSUserManager"
+      xmbean-dd="xmdesc/JMSUserManager-xmbean.xml">
+      
+      <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+      
+      <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+      
+      <attribute name="DataSource">java:/DefaultDS</attribute>
+      
+      <attribute name="CreateTablesOnStartup">true</attribute>
+      
+      <attribute name="SqlProperties"><![CDATA[
+POPULATE.TABLES.1  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('guest', 'guest')
+POPULATE.TABLES.2  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('j2ee', 'j2ee')
+POPULATE.TABLES.3  = INSERT INTO JBM_USER (USER_ID, PASSWD, CLIENTID) VALUES ('john', 'needle', 'DurableSubscriberExample')
+POPULATE.TABLES.4  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('nobody', 'nobody')
+POPULATE.TABLES.5  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('dynsub', 'dynsub')
+POPULATE.TABLES.6  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('guest','guest')
+POPULATE.TABLES.7  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('j2ee','guest')
+POPULATE.TABLES.8  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('john','guest')
+POPULATE.TABLES.9  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('subscriber','john')
+POPULATE.TABLES.10 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','john')
+POPULATE.TABLES.11 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','dynsub')
+POPULATE.TABLES.12 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','john')
+POPULATE.TABLES.13 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','dynsub')
+POPULATE.TABLES.14 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('noacc','nobody')
+      ]]></attribute>
+   </mbean>
+
+</server>
\ No newline at end of file

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/jms-ds.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/jms-ds.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/jms-ds.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<connection-factories>
+
+  <!-- ==================================================================== -->
+  <!-- JMS Stuff                                                            -->
+  <!-- ==================================================================== -->
+
+   <!--
+       The JMS provider loader. Currently pointing to a non-clustered ConnectionFactory. Need to
+       be replaced with a clustered non-load-balanced ConnectionFactory when it becomes available.
+       See http://jira.jboss.org/jira/browse/JBMESSAGING-843. 
+   -->
+   <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
+          name="jboss.messaging:service=JMSProviderLoader,name=JMSProvider">
+      <attribute name="ProviderName">DefaultJMSProvider</attribute>
+      <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
+      <attribute name="FactoryRef">java:/XAConnectionFactory</attribute>
+      <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute>
+      <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute>
+   </mbean>
+
+   <!-- JMS XA Resource adapter, use this to get transacted JMS in beans -->
+   <tx-connection-factory>
+      <jndi-name>JmsXA</jndi-name>
+      <xa-transaction/>
+      <rar-name>jms-ra.rar</rar-name>
+      <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
+      <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
+      <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property>
+      <max-pool-size>20</max-pool-size>
+      <security-domain-and-application>JmsXARealm</security-domain-and-application>
+      <depends>jboss.messaging:service=ServerPeer</depends>
+   </tx-connection-factory>
+
+</connection-factories>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/legacy-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/legacy-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/legacy-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Messaging Destinations deployment descriptor.
+    
+    $Id: destinations-service.xml 927 2006-05-03 01:51:14Z ovidiu $
+-->
+
+<server>
+    <mbean code="org.jboss.mq.server.jmx.DummyDestMgr"
+        name="jboss.mq:service=DestinationManager">
+        <depends>jboss.messaging:service=ServerPeer</depends>
+    </mbean>
+    <mbean code="org.jboss.mq.server.jmx.DummySecurityMgr"
+        name="jboss.mq:service=SecurityManager" />
+    
+</server>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/messaging-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/messaging-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/messaging-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     The JBoss Messaging service deployment descriptor.
+
+     $Id: messaging-service.xml 3204 2007-10-19 12:42:17Z timfox $
+ -->
+
+<server>
+
+   <!-- ServerPeer MBean configuration
+        ============================== -->
+
+   <mbean code="org.jboss.jms.server.ServerPeer"
+      name="jboss.messaging:service=ServerPeer"
+      xmbean-dd="xmdesc/ServerPeer-xmbean.xml">
+
+      <!-- The unique id of the server peer - in a cluster each node MUST have a unique value - must be an integer -->
+
+      <attribute name="ServerPeerID">0</attribute>
+      
+      <!-- The default JNDI context to use for queues when they are deployed without specifying one --> 
+      
+      <attribute name="DefaultQueueJNDIContext">/queue</attribute>
+      
+      <!-- The default JNDI context to use for topics when they are deployed without specifying one --> 
+      
+      <attribute name="DefaultTopicJNDIContext">/topic</attribute>
+
+	  <attribute name="PostOffice">jboss.messaging:service=PostOffice</attribute>
+	  
+	  <!-- The JAAS security domain to use for JBoss Messaging -->
+	  
+      <attribute name="SecurityDomain">java:/jaas/messaging</attribute>
+      
+      <!-- The default security configuration to apply to destinations - this can be overridden on a per destination basis -->
+      
+      <attribute name="DefaultSecurityConfig">
+        <security>
+            <role name="Administrator" read="true" write="true" create="true"/>
+            <role name="Manager" read="true" write="true" create="true"/>
+            <role name="guest" read="true" write="true" create="true"/>
+        </security>
+      </attribute>
+      
+      <!-- The default Dead Letter Queue (DLQ) to use for destinations.
+           This can be overridden on a per destinatin basis -->
+      
+      <attribute name="DefaultDLQ">jboss.messaging.destination:service=Queue,name=DLQ</attribute>
+      
+      <!-- The default maximum number of times to attempt delivery of a message before sending to the DLQ (if configured).
+           This can be overridden on a per destinatin basis -->
+      
+      <attribute name="DefaultMaxDeliveryAttempts">10</attribute>
+      
+      <!-- The default Expiry Queue to use for destinations. This can be overridden on a per destinatin basis -->
+      
+      <attribute name="DefaultExpiryQueue">jboss.messaging.destination:service=Queue,name=ExpiryQueue</attribute>
+      
+      <!-- The default redelivery delay to impose. This can be overridden on a per destination basis -->
+      
+      <attribute name="DefaultRedeliveryDelay">0</attribute>
+      
+      <!-- The periodicity of the message counter manager enquiring on queues for statistics -->
+      
+      <attribute name="MessageCounterSamplePeriod">5000</attribute>
+      
+      <!-- The maximum amount of time for a client to wait for failover to start on the server side after
+           it has detected failure -->
+      
+      <attribute name="FailoverStartTimeout">60000</attribute>
+      
+      <!-- The maximum amount of time for a client to wait for failover to complete on the server side after
+           it has detected failure -->
+      
+      <attribute name="FailoverCompleteTimeout">300000</attribute>
+
+      <attribute name="StrictTck">false</attribute>
+      
+      <!-- The maximum number of days results to maintain in the message counter history -->
+      
+      <attribute name="DefaultMessageCounterHistoryDayLimit">-1</attribute>
+      
+      <!-- The name of the connection factory to use for creating connections between nodes to pull messages -->
+      
+      <attribute name="ClusterPullConnectionFactoryName">jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory</attribute>
+      
+      <!-- Use XA when pulling persistent messages from a remote node to this one. -->
+      
+      <attribute name="UseXAForMessagePull">false</attribute>
+      
+      <!-- When redistributing messages in the cluster. Do we need to preserve the order of messages received
+            by a particular consumer from a particular producer? -->
+            
+      <attribute name="DefaultPreserveOrdering">false</attribute>
+      
+      <!-- Max. time to hold previously delivered messages back waiting for clients to reconnect after failover -->
+      
+      <attribute name="RecoverDeliveriesTimeout">300000</attribute>
+      
+      <!-- The password used by the message sucker connections to create connections.
+           THIS SHOULD ALWAYS BE CHANGED AT INSTALL TIME TO SECURE SYSTEM
+      <attribute name="SuckerPassword"></attribute>
+      -->
+
+      <depends optional-attribute-name="PersistenceManager">jboss.messaging:service=PersistenceManager</depends>
+      
+      <depends optional-attribute-name="JMSUserManager">jboss.messaging:service=JMSUserManager</depends>
+      
+      <depends>jboss.messaging:service=Connector,transport=bisocket</depends>
+
+   </mbean>
+
+</server>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/remoting-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/remoting-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/messaging/remoting-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     Standard bisocket-based Remoting service deployment descriptor.
+
+     $Id: remoting-bisocket-service.xml 3237 2007-10-21 15:27:51Z timfox $
+ -->
+
+<server>
+
+   <!-- Standard bisocket connector - the bisocket transport only opens connection from client->server
+        so can be used with firewalls where only outgoing connections are allowed.
+        For examples of HTTP and SSL transports see docs/examples -->
+   <mbean code="org.jboss.remoting.transport.Connector"
+          name="jboss.messaging:service=Connector,transport=bisocket"
+          display-name="Bisocket Transport Connector">
+      <attribute name="Configuration">
+         <config>
+            <invoker transport="bisocket">
+            
+               <!-- There should be no reason to change these parameters - warning!
+                    Changing them may stop JBoss Messaging working correctly -->            
+               <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
+               <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
+               <attribute name="dataType" isParam="true">jms</attribute>
+               <attribute name="socket.check_connection" isParam="true">false</attribute>
+               <attribute name="timeout" isParam="true">0</attribute>
+               <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
+               <attribute name="serverBindPort">4457</attribute>
+               <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
+               <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
+               <attribute name="numberOfCallRetries" isParam="true">1</attribute>
+               <attribute name="pingFrequency" isParam="true">214748364</attribute>
+               <attribute name="pingWindowFactor" isParam="true">10</attribute>
+               <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute>
+               <!-- End immutable parameters -->
+               
+               <!-- Periodicity of client pings. Server window by default is twice this figure -->                               
+               <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
+
+               <!-- Number of seconds to wait for a connection in the client pool to become free -->
+               <attribute name="numberOfRetries" isParam="true">10</attribute>
+
+               <!-- Max Number of connections in client pool. This should be significantly higher than
+                    the max number of sessions/consumers you expect -->
+               <attribute name="clientMaxPoolSize" isParam="true">200</attribute>
+               
+               <!-- Use these parameters to specify values for binding and connecting control connections to 
+                    work with your firewall/NAT configuration
+               <attribute name="secondaryBindPort">xyz</attribute>                           
+               <attribute name="secondaryConnectPort">abc</attribute>               
+               -->
+                          
+            </invoker>
+            <handlers>
+               <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
+            </handlers>
+         </config>
+      </attribute>
+   </mbean>
+
+</server>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/remoting-service.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/remoting-service.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deploy/remoting-service.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Connector for both EJB3 and JNDI
+-->
+<server>
+   <mbean code="org.jboss.remoting.transport.Connector"
+          name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
+      <attribute name="InvokerLocator">socket://${jboss.bind.address}:3873</attribute>
+      <attribute name="Configuration">
+         <handlers>
+            <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
+         </handlers>
+      </attribute>
+   </mbean>
+</server>
\ No newline at end of file

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/aspect-deployer-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/aspect-deployer-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/aspect-deployer-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Aspect  Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="AOPJBossIntegration" class="org.jboss.aop.asintegration.embedded.JBossEmbeddedUCLIntegration"/>
+
+   <!--
+      Valid values for the AspectManager bean for use with enableTransformer=true are:
+      * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
+      * org.jboss.aop.deployers.AspectManagerJRockit - works with JRockit and the -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor switch
+   -->
+   <bean name="AspectManager" class="org.jboss.aop.deployers.AspectManagerJDK5">
+      <constructor>
+         <parameter><![CDATA[
+	         <aop>
+				</aop>]]>
+	      </parameter>
+      </constructor>
+
+      <property name="jbossIntegration"><inject bean="AOPJBossIntegration"/></property>
+
+      <property name="enableLoadtimeWeaving">false</property>
+      <!-- only relevant when EnableLoadtimeWeaving is true.
+           When transformer is on, every loaded class gets
+           transformed.  If AOP can't find the class, then it
+           throws an exception.  Sometimes, classes may not have
+           all the classes they reference.  So, the Suppressing
+           is needed.  (i.e. Jboss cache in the default configuration -->
+      <property name="suppressTransformationErrors">true</property>
+      <property name="prune">true</property>
+      <property name="include">org.jboss.test., org.jboss.injbossaop.</property>
+      <property name="exclude">org.jboss.</property>
+      <!-- This avoids instrumentation of hibernate cglib enhanced proxies
+      <property name="ignore">*$$EnhancerByCGLIB$$*</property> -->
+      <property name="optimized">true</property>
+      <property name="verbose">false</property>
+      <!--
+         Available choices for this attribute are:
+            org.jboss.aop.instrument.ClassicInstrumentor (default)
+            org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
+       <property name="instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</property>
+      -->
+   </bean>
+
+   <!-- Aspect Deployment -->
+   <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
+      <property name="type">aop</property>
+      <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
+   </bean>
+
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb-deployer-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb-deployer-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb-deployer-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    EJB 2.x Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <!-- ejb-jar.xml parsing deployer -->
+   <bean name="Ejb2ParsingDeployer" class="org.jboss.deployment.EjbParsingDeployer">
+      <property name="type">ejb2x</property>   
+      <property name="useSchemaValidation">false</property>
+      <property name="relativeOrder">3000</property>
+   </bean>
+   <bean name="JBossEjb2ParsingDeployer" class="org.jboss.deployment.JBossEjbParsingDeployer">
+      <property name="type">ejb2x</property>      
+      <property name="relativeOrder">3001</property>
+      <property name="useSchemaValidation">false</property>
+      <property name="ignoreMissingStandardJBossXml">true</property>
+      <!-- Can be used to override the default location of the standardjboss.xml -->
+      <!-- ><property name="standardJBossXmlPath">${jboss.server.config.url}/standardjboss.xml</property>-->
+   </bean>
+
+    <bean name="EJB2xDeployer" class="org.jboss.ejb.deployers.EjbDeployer">
+        <!-- The EJBDeployer needs the JTA transaction manager service -->
+        <property name="transactionManagerServiceName">jboss:service=TransactionManager</property>
+       <!-- The dynamic class loading simple web server -->
+       <property name="webServiceName">jboss:service=WebService</property>
+       <!-- The CachedConnectionManager service used by the CachedConnectionInterceptor -->
+       <property name="cachedConnectionManagerName">jboss.jca:service=CachedConnectionManager</property>
+       <!-- The ejb timer service -->
+       <property name="timerServiceName">jboss.ejb:service=EJBTimerService</property>
+       <!-- A flag indicating if the ejb components should have in VM call
+          optimization disabled.
+       -->
+       <property name="callByValue">false</property>
+        
+       <!-- Specify an unauthenticated identity -->
+       <property name="unauthenticatedIdentity">anonymous</property>
+       
+       <!-- Specify a SecurityManagement Wrapper -->
+       <property name="securityManagement">
+         <inject bean="JNDIBasedSecurityManagement"/>
+       </property>
+       <!-- Specify a SecurityContext FQN class name -->
+       <property name="securityContextClassName">org.jboss.security.plugins.JBossSecurityContext</property>
+
+       <!-- Specify a SecurityDomain as fallback -->
+       <property name="defaultSecurityDomain">jboss-ejb-policy</property>
+
+       <depends>SecurityDeployer</depends>
+    </bean>
+
+   <bean name="MergedJBossMetaDataDeployer" class="org.jboss.ejb.deployers.MergedJBossMetaDataDeployer">
+   </bean>
+   <bean name="StandardJBossMetaDataDeployer" class="org.jboss.ejb.deployers.StandardJBossMetaDataDeployer">
+   </bean>
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb3-deployers-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb3-deployers-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/ejb3-deployers-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    JCA Deployers
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <!-- TODO this should be removed later on when ENC gets changed -->
+   <bean name="java:comp/Initializer" class="org.jboss.ejb3.embedded.JavaCompInitializer"/>
+   <bean name="DefaultPersistenceProperties" class="org.jboss.ejb3.DefaultPersistenceProperties"/>
+
+   <bean name="Ejb3Deployer" class="org.jboss.ejb3.deployers.Ejb3Deployer">
+      <property name="type">ejb3x</property>
+      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+      <property name="defaultPersistenceProperties"><inject bean="DefaultPersistenceProperties" property="properties"/></property>
+      <property name="cacheFactoryRegistry"><inject bean="EJB3CacheFactoryRegistry" /></property>
+      <property name="poolFactoryRegistry"><inject bean="EJB3PoolFactoryRegistry" /></property>
+      <property name="remoteProxyFactoryRegistry"><inject bean="EJB3RemoteProxyFactoryRegistry" /></property>
+      <property name="persistenceManagerFactoryRegistry"><inject bean="EJB3PersistenceManagerFactoryRegistry" /></property>
+      
+      <!-- 
+   
+      Configure the deployer to optionally require a deployment 
+      descriptor for deployable units.  By turning this switch to "true", 
+      "META-INF/jboss.xml" or the EJB3 Deployment Descriptor "META-INF/ejb-jar.xml" 
+      will be required for deployment, enabling a performance increace in deployment by
+      not scanning for annotations in non-deployable EJB3 JARs.
+      
+      Default for this value is "false".
+      
+      -->
+      <property name="deploymentDescriptorRequired">false</property>
+      
+      <property name="ignoredJarsSet">
+         <set elementClass="java.lang.String">
+            <value>snmp-adaptor.jar</value>
+            <value>otherimages.jar</value>
+            <value>applet.jar</value>
+            <value>jcommon.jar</value>
+            <value>console-mgr-classes.jar</value>
+            <value>jfreechart.jar</value>
+            <value>juddi-service.jar</value>
+            <value>wsdl4j.jar</value>
+            <value>commons-collections.jar</value>
+            <value>commons-pool.jar</value>
+            <value>juddi.jar</value>
+            <value>commons-discovery.jar</value>
+            <value>uddi4j.jar</value>
+            <value>axis.jar</value>
+            <value>commons-dbcp.jar</value>
+            <value>jboss-juddiaxis.jar</value>
+            <value>trove.jar</value>
+            <value>javassist.jar</value>
+            <value>jboss-aop-jdk50.jar</value>
+            <value>jboss-aspect-library-jdk50.jar</value>
+            <value>ejb3-persistence.jar</value>
+            <value>commons-validator-1.1.3.jar</value>
+            <value>commons-collections.jar</value>
+            <value>commons-fileupload.jar</value>
+            <value>commons-pool.jar</value>
+            <value>hibernate-entitymanager.jar</value>
+            <value>jboss-ejb3x.jar</value>
+            <value>commons-digester-1.6.jar</value>
+            <value>cglib-2.1.1.jar</value>
+            <value>commons-discovery.jar</value>
+            <value>jboss-annotations-ejb3.jar</value>
+            <value>jaxen-1.1-beta-4.jar</value>
+            <value>hibernate-annotations.jar</value>
+            <value>commons-httpclient.jar</value>
+            <value>commons-logging.jar</value>
+            <value>commons-vfs.jar</value>
+            <value>hibernate3.jar</value>
+            <value>commons-logging-api.jar</value>
+            <value>asm.jar</value>
+            <value>asm-attrs.jar</value>
+            <value>commons-lang-2.0.jar</value>
+            <value>commons-beanutils.jar</value>
+            <value>jboss-ejb3.jar</value>
+            <value>dom4j.jar</value>
+            <value>commons-codec-1.2.jar</value>
+            <value>wsdl4j.jar</value>
+            <value>xmlsec.jar</value>
+            <value>jbossws.jar</value>
+            <value>jboss-bean-deployer.jar</value>
+            <value>jboss-microcontainer.jar</value>
+            <value>jboss-dependency.jar</value>
+            <value>jboss-container.jar</value>
+            <value>tomcat-coyote.jar</value>
+            <value>commons-collections.jar</value>
+            <value>myfaces.jar</value>
+            <value>jstl.jar</value>
+            <value>commons-digester-1.6.jar</value>
+            <value>myfaces-impl.jar</value>
+            <value>commons-beanutils.jar</value>
+            <value>myfaces-jsf-api.jar</value>
+            <value>commons-codec-1.2.jar</value>
+            <value>catalina-optional.jar</value>
+            <value>tomcat-util.jar</value>
+            <value>jasper-compiler.jar</value>
+            <value>commons-el.jar</value>
+            <value>jasper-compiler-jdt.jar</value>
+            <value>tomcat-http.jar</value>
+            <value>catalina-manager.jar</value>
+            <value>jasper-runtime.jar</value>
+            <value>tomcat55-service.jar</value>
+            <value>servlets-invoker.jar</value>
+            <value>catalina.jar</value>
+            <value>naming-resources.jar</value>
+            <value>servlets-default.jar</value>
+            <value>tomcat-ajp.jar</value>
+            <value>commons-modeler.jar</value>
+            <value>tomcat-apr.jar</value>
+            <value>servlets-webdav.jar</value>
+         </set>
+      </property>
+      <depends>AspectLibrary</depends>
+   </bean>
+   <bean name="EJBStage2Deployer" class="org.jboss.ejb3.deployers.EJBStage2Deployer">
+      <depends>AspectLibrary</depends>
+   </bean>
+   
+   <bean name="AppClientParsingDeployer" class="org.jboss.ejb3.deployers.AppClientParsingDeployer">
+      <property name="type">car</property>
+      <!-- TODO: check depends -->
+      <depends>AspectLibrary</depends>
+   </bean>
+   
+   <bean name="JBossClientParsingDeployer" class="org.jboss.ejb3.deployers.JBossClientParsingDeployer">
+      <property name="type">car</property>
+      <depends>AppClientParsingDeployer</depends>
+   </bean>
+   
+   <bean name="AppClientScanningDeployer" class="org.jboss.ejb3.deployers.AppClientScanningDeployer">
+      <depends>JBossClientParsingDeployer</depends>
+   </bean>
+   
+   <bean name="Ejb3ClientDeployer" class="org.jboss.ejb3.deployers.Ejb3ClientDeployer">
+      <property name="type">car</property>
+      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+      <!-- TODO: check depends -->
+      <depends>AspectLibrary</depends>
+      <depends>AppClientScanningDeployer</depends>
+   </bean>
+   
+   <!-- EJB3 Cache Factory Registry -->
+   <bean name="EJB3CacheFactoryRegistry" class="org.jboss.ejb3.cache.CacheFactoryRegistry">
+      <property name="factories">
+         <!-- Define each of the registered factories -->
+         <map class="java.util.HashMap" keyClass="java.lang.String"
+            valueClass="java.lang.Class">
+            <!-- NoPassivationCache -->
+            <entry>
+               <key>NoPassivationCache</key>
+               <value>org.jboss.ejb3.cache.NoPassivationCacheFactory</value>
+            </entry>
+            <!-- SimpleStatefulCache -->
+            <entry>
+               <key>SimpleStatefulCache</key>
+               <value>org.jboss.ejb3.cache.simple.SimpleStatefulCacheFactory</value>
+            </entry>
+            <!-- StatefulTreeCache -->
+            <entry>
+               <key>StatefulTreeCache</key>
+               <value>org.jboss.ejb3.cache.tree.StatefulTreeCacheFactory</value>
+            </entry>
+         </map>
+      </property>
+   </bean>
+   
+   <!-- EJB3 Pool Factory Registry -->
+   <bean name="EJB3PoolFactoryRegistry" class="org.jboss.ejb3.pool.PoolFactoryRegistry">
+      <property name="factories">
+         <!-- Define each of the registered factories -->
+         <map class="java.util.HashMap" keyClass="java.lang.String"
+            valueClass="java.lang.Class">
+            <!-- ThreadlocalPool -->
+            <entry>
+               <key>ThreadlocalPool</key>
+               <value>org.jboss.ejb3.pool.ThreadlocalPoolFactory</value>
+            </entry>
+            <!-- StrictMaxPool -->
+            <entry>
+               <key>StrictMaxPool</key>
+               <value>org.jboss.ejb3.pool.StrictMaxPoolFactory</value>
+            </entry>
+         </map>
+      </property>
+   </bean>
+   
+   <!-- Remoting Proxy Factory Registry -->
+   <bean name="EJB3RemoteProxyFactoryRegistry" class="org.jboss.ejb3.remoting.RemoteProxyFactoryRegistry">
+      <property name="factories">
+         <!-- Define each of the registered factories -->
+         <map class="java.util.HashMap" keyClass="java.lang.String"
+            valueClass="java.lang.Class">
+            <!-- RemoteProxyFactory -->
+            <entry>
+               <key>RemoteProxyFactory</key>
+               <value>org.jboss.ejb3.remoting.RemoteProxyFactory</value>
+            </entry>
+            <!-- IORFactory -->
+            <entry>
+               <key>IORFactory</key>
+               <value>org.jboss.ejb3.iiop.IORFactory</value>
+            </entry>
+            <!-- ServiceRemoteProxyFactory -->
+            <entry>
+               <key>ServiceRemoteProxyFactory</key>
+               <value>org.jboss.ejb3.service.ServiceRemoteProxyFactory</value>
+            </entry>
+            <!-- StatefulClusterProxyFactory -->
+            <!-- <entry>
+               <key>StatefulClusterProxyFactory</key>
+               <value>org.jboss.ejb3.stateful.StatefulClusterProxyFactory</value>
+            </entry>-->
+            <!-- StatefulRemoteProxyFactory -->
+            <entry>
+               <key>StatefulRemoteProxyFactory</key>
+               <value>org.jboss.ejb3.stateful.StatefulRemoteProxyFactory</value>
+            </entry>
+            <!-- StatelessClusterProxyFactory -->
+            <!-- <entry>
+               <key>StatelessClusterProxyFactory</key>
+               <value>org.jboss.ejb3.stateless.StatelessClusterProxyFactory</value>
+            </entry>-->
+            <!-- StatelessRemoteProxyFactory -->
+            <entry>
+               <key>StatelessRemoteProxyFactory</key>
+               <value>org.jboss.ejb3.stateless.StatelessRemoteProxyFactory</value>
+            </entry>            
+         </map>
+      </property>
+   </bean>
+   
+   <!-- EJB3 Persistence Manager Factory Registry -->
+   <bean name="EJB3PersistenceManagerFactoryRegistry" class="org.jboss.ejb3.cache.persistence.PersistenceManagerFactoryRegistry">
+      <property name="factories">
+         <!-- Define each of the registered factories -->
+         <map class="java.util.HashMap" keyClass="java.lang.String"
+            valueClass="java.lang.Class">
+            <!-- StatefulSessionFilePersistenceManager -->
+            <entry>
+               <key>StatefulSessionFilePersistenceManager</key>
+               <value>org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManagerFactory</value>
+            </entry>
+         </map>
+      </property>
+   </bean>
+   
+   <bean name="JNDIKernelRegistryPlugin" class="org.jboss.ejb3.kernel.JNDIKernelRegistryPlugin"/>
+   
+   <!-- Persistence Unit deployers -->
+   <bean name="PersistenceUnitParsingDeployer" class="org.jboss.ejb3.deployers.PersistenceUnitParsingDeployer">
+      <property name="type">car</property>
+   </bean>
+   
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jboss-aspect-library-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jboss-aspect-library-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jboss-aspect-library-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Aspect  Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <!-- Aspect Library -->
+   <bean name="AspectLibrary" class="org.jboss.aop.deployers.JBossAspectLibrary">
+      <property name="aspectManager"><inject bean="AspectManager"/></property>
+   </bean>
+
+   <!-- Add the JMX -->
+   <aop:lifecycle-configure xmlns:aop="urn:jboss:aop-beans:1.0"
+               name="JMXAdvice"
+               class="org.jboss.aop.microcontainer.aspects.jmx.JMXLifecycleCallback"
+               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
+               manager-bean="AspectManager"
+               manager-property="aspectManager">
+      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+   </aop:lifecycle-configure>
+
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jca-deployers-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jca-deployers-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/jca-deployers-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    JCA Deployers
+    $Id: jca-deployers-beans.xml 68282 2007-12-14 13:43:52Z alex.loubyansky at jboss.com $
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="JCAMetaDataRepository" class="org.jboss.resource.metadata.repository.DefaultJCAMetaDataRepository"/>
+            
+   <!-- RAR Deployment -->
+   <bean name="RARParserDeployer" class="org.jboss.resource.deployers.RARParserDeployer">
+      <property name="metaDataRepository"><inject bean="JCAMetaDataRepository"/></property>
+      <property name="type">rar</property>
+   </bean>
+   
+   <bean name="RARDeployer" class="org.jboss.resource.deployers.RARDeployer">
+      <property name="workManagerName">jboss.jca:service=WorkManager</property>
+      <property name="XATerminatorName">jboss:service=TransactionManager</property>
+      <property name="type">rar</property>
+   </bean>
+   
+   
+   
+   <!-- ConnectionFactory Deployment - ->  
+   
+   <bean name="ConnectionFactoryDeployer" class="org.jboss.system.deployers.ServiceXSLDeployer">
+      <property name="suffix">-ds.xml</property>
+      <property name="XSLPath">stylesheets/ConnectionFactoryTemplate.xsl</property>
+      <property name="type">jca-ds</property>
+   </bean>
+   
+   -->
+
+   <bean name="MCFBuilder" class="org.jboss.resource.deployers.builder.ManagedConnectionFactoryBuilder">
+      <property name="metaDataRepository"><inject bean="JCAMetaDataRepository"/></property>
+   </bean>   
+   
+   <bean name="PoolBuilder" class="org.jboss.resource.deployers.builder.ManagedConnectionPoolBuilder"/>
+   <bean name="ConnectionManagerBuilder" class="org.jboss.resource.deployers.builder.ConnectionManagerBuilder"/>
+   <bean name="ConnectionFactoryBindingBuilder" class="org.jboss.resource.deployers.builder.ConnectionFactoryBindingBuilder"/>
+   <bean name="MetaDataTypeMappingBuilder" class="org.jboss.resource.deployers.builder.MetaDataTypeMappingBuilder"/>
+   
+   <bean name="ManagedConnectionFactoryParserDeployer" class="org.jboss.resource.deployers.ManagedConnectionFactoryParserDeployer">
+      <property name="repository"><inject bean="JCAMetaDataRepository"></inject></property>
+      <property name="suffix">-ds.xml</property>      
+      <property name="type">jca-ds</property>
+   </bean>
+
+   <bean name="ManagedConnectionFactoryDeployer" class="org.jboss.resource.deployers.ManagedConnectionFactoryDeployer">      
+      <property name="repository"><inject bean="JCAMetaDataRepository"></inject></property>      
+      <property name="builders">
+         <list>
+            <inject bean="MCFBuilder"/>
+            <inject bean="PoolBuilder"/>
+            <inject bean="ConnectionManagerBuilder"/>
+            <inject bean="ConnectionFactoryBindingBuilder"/>
+            <inject bean="MetaDataTypeMappingBuilder"/>            
+         </list>            
+      </property>
+      <property name="type">jca-ds</property>
+   </bean>
+
+   <!-- The template for creating a datasource -->
+   <bean name="LocalTxDataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+      <property name="info"><inject bean="LocalTxDataSourceTemplateInfo"/></property>
+   </bean>
+   <bean name="LocalTxDataSourceTemplateInfo"
+      class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+      <constructor>
+         <parameter>LocalTxDataSourceTemplate</parameter>
+         <parameter>A template for datasource *-ds.xml deployments</parameter>
+         <parameter>local-tx-datasource</parameter>
+      </constructor>
+   </bean>
+   <bean name="XADataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+      <property name="info"><inject bean="XADataSourceTemplateInfo"/></property>
+   </bean>
+   <bean name="XADataSourceTemplateInfo"
+      class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+      <constructor>
+         <parameter>XADataSourceTemplate</parameter>
+         <parameter>A template for xa-datasource *-ds.xml deployments</parameter>
+         <parameter>xa-datasource</parameter>
+      </constructor>
+   </bean>
+   <bean name="NoTxDataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+      <property name="info"><inject bean="NoTxDataSourceTemplateInfo"/></property>
+   </bean>
+   <bean name="NoTxDataSourceTemplateInfo"
+      class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+      <constructor>
+         <parameter>NoTxDataSourceTemplate</parameter>
+         <parameter>A template for no-tx-datasource *-ds.xml deployments</parameter>
+         <parameter>no-tx-datasource</parameter>
+      </constructor>
+   </bean>
+   <bean name="TxConnectionFactoryTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+      <property name="info"><inject bean="TxConnectionFactoryTemplateInfo"/></property>
+   </bean>
+   <bean name="TxConnectionFactoryTemplateInfo"
+      class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+      <constructor>
+         <parameter>TxConnectionFactoryTemplate</parameter>
+         <parameter>A template for tx-connection-factory *-ds.xml deployments</parameter>
+         <parameter>tx-connection-factory</parameter>
+      </constructor>
+   </bean>
+   <bean name="NoTxConnectionFactoryTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
+      <property name="info"><inject bean="NoTxConnectionFactoryTemplateInfo"/></property>
+   </bean>
+   <bean name="NoTxConnectionFactoryTemplateInfo"
+      class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
+      <constructor>
+         <parameter>NoTxConnectionFactoryTemplate</parameter>
+         <parameter>A template for no-tx-connection-factory *-ds.xml deployments</parameter>
+         <parameter>no-tx-connection-factory</parameter>
+      </constructor>
+   </bean>
+   
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/metadata-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/metadata-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/metadata-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    MetaData configuration
+    $Id: metadata-beans.xml 67929 2007-12-05 07:55:38Z scott.stark at jboss.org $
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+	<!-- The reference metdata resolving deployer
+	-->
+   <bean name="ReferenceMetaDataResolverDeployer"
+      class="org.jboss.deployment.ReferenceMetaDataResolverDeployer">
+   </bean>
+   <bean name="AnnotationMetaDataDeployer"
+      class="org.jboss.deployment.AnnotationMetaDataDeployer">
+      <property name="metaDataCompleteIsDefault">true</property>
+   </bean>
+
+	<!-- The schema location to JBossXB binding class mappings. We specify the dtd/xsd name
+	of the schema as the location to work with legacy dtd as well as namespace based
+	documents.
+	-->
+   <bean name="SchemaResolverConfig"
+      class="org.jboss.xb.binding.sunday.unmarshalling.SchemaResolverConfig">
+      
+      <!-- schemaLocation to JBossXBuilder binding classes -->
+      <property name="bindingClassesByLocations">
+         <map keyClass="java.lang.String" valueClass="java.lang.String">
+            <!-- EarMetaData -->
+            <entry>
+               <key>application</key>
+               <value>org.jboss.metadata.ear.spec.Ear14MetaData</value>
+            </entry>
+            <entry>
+               <key>application_1_2.dtd</key>
+               <value>org.jboss.metadata.ear.spec.Ear13DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>application_1_3.dtd</key>
+               <value>org.jboss.metadata.ear.spec.Ear13DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>application_1_4.xsd</key>
+               <value>org.jboss.metadata.ear.spec.Ear14MetaData</value>
+            </entry>
+            <entry>
+               <key>application_5.xsd</key>
+               <value>org.jboss.metadata.ear.spec.Ear50MetaData</value>
+            </entry>
+            <!-- JBossAppMetaData -->
+            <entry>
+               <key>jboss-app</key>
+               <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-app_3_0.dtd</key>
+               <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-app_3_2.dtd</key>
+               <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-app_4_0.dtd</key>
+               <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-app_4_2.dtd</key>
+               <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-app_5_0.dtd</key>
+               <value>org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-app_5_0.xsd</key>
+               <value>org.jboss.metadata.ear.jboss.JBoss50AppMetaData</value>
+            </entry>
+
+            <!-- ApplicationClientMetaData -->
+            <entry>
+               <key>application-client</key>
+               <value>org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>application-client_1_2.dtd</key>
+               <value>org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>application-client_1_3.dtd</key>
+               <value>org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>application-client_1_4.xsd</key>
+               <value>org.jboss.metadata.client.spec.ApplicationClient14MetaData</value>
+            </entry>
+            <entry>
+               <key>application-client_5.xsd</key>
+               <value>org.jboss.metadata.client.spec.ApplicationClient5MetaData</value>
+            </entry>
+            <!-- ApplicationClientMetaData -->
+            <entry>
+               <key>jboss-client</key>
+               <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-client_3_0.dtd</key>
+               <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-client_3_2.dtd</key>
+               <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-client_4_0.dtd</key>
+               <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-client_4_2.dtd</key>
+               <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-client_5_0.dtd</key>
+               <value>org.jboss.metadata.client.jboss.JBossClient5DTDMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-client_5_0.xsd</key>
+               <value>org.jboss.metadata.client.jboss.JBossClient5MetaData</value>
+            </entry>
+            
+            <!-- EjbJarMetaData -->
+            <entry>
+               <key>ejb-jar</key>
+               <value>org.jboss.metadata.ejb.spec.EjbJar20MetaData</value>
+            </entry>
+            <entry>
+               <key>ejb-jar_1_1.dtd</key>
+               <value>org.jboss.metadata.ejb.spec.EjbJar1xMetaData</value>
+            </entry>
+            <entry>
+               <key>ejb-jar_2_0.dtd</key>
+               <value>org.jboss.metadata.ejb.spec.EjbJar20MetaData</value>
+            </entry>
+            <entry>
+               <key>ejb-jar_2_1.xsd</key>
+               <value>org.jboss.metadata.ejb.spec.EjbJar21MetaData</value>
+            </entry>
+            <entry>
+               <key>ejb-jar_3_0.xsd</key>
+               <value>org.jboss.metadata.ejb.spec.EjbJar30MetaData</value>
+            </entry>
+            
+            <!-- JBossMetaData -->
+            <entry>
+               <key>jboss</key>
+               <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+            </entry>            
+            <entry>
+               <key>jboss_3_0.dtd</key>
+               <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+            </entry>            
+            <entry>
+               <key>jboss_3_2.dtd</key>
+               <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+            </entry>            
+            <entry>
+               <key>jboss_4_0.dtd</key>
+               <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+            </entry>            
+            <entry>
+               <key>jboss_4_2.dtd</key>
+               <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+            </entry>            
+            <entry>
+               <key>jboss_5_0.dtd</key>
+               <value>org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData</value>
+            </entry>            
+            <entry>
+               <key>jboss_5_0.xsd</key>
+               <value>org.jboss.metadata.ejb.jboss.JBoss50MetaData</value>
+            </entry>
+            
+            <!-- WebMetaData -->
+            <entry>
+               <key>web-app</key>
+               <value>org.jboss.metadata.web.spec.Web23MetaData</value>
+            </entry>
+            <entry>
+               <key>web-app_2_2.dtd</key>
+               <value>org.jboss.metadata.web.spec.Web23MetaData</value>
+            </entry>
+            <entry>
+               <key>web-app_2_3.dtd</key>
+               <value>org.jboss.metadata.web.spec.Web23MetaData</value>
+            </entry>
+            <entry>
+               <key>web-app_2_4.xsd</key>
+               <value>org.jboss.metadata.web.spec.Web24MetaData</value>
+            </entry>
+            <entry>
+               <key>web-app_2_5.xsd</key>
+               <value>org.jboss.metadata.web.spec.Web25MetaData</value>
+            </entry>
+            <!-- JBossWebMetaData -->
+            <entry>
+               <key>jboss-web</key>
+               <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-web_3_0.dtd</key>
+               <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-web_3_2.dtd</key>
+               <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-web_4_0.dtd</key>
+               <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-web_4_2.dtd</key>
+               <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-web_5_0.dtd</key>
+               <value>org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData</value>
+            </entry>
+            <entry>
+               <key>jboss-web_5_0.xsd</key>
+               <value>org.jboss.metadata.web.jboss.JBoss50WebMetaData</value>
+            </entry>
+         </map>
+      </property>
+   </bean>
+   
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/security-deployer-beans.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/security-deployer-beans.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/deployers/security-deployer-beans.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Security Deployer
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="SecurityDeployer" class="org.jboss.deployment.security.SecurityDeployer">
+      <property name="type">security</property>
+      <property name="ignoreSuffixes">
+          <set elementClass="java.lang.String">
+               <value>xml</value>
+               <value>beans</value>
+               <value>deployer</value>
+               <value>rar</value>
+               <value>properties</value>
+          </set>
+       </property>
+   </bean>
+
+   <!-- JNDI Object Factory to establish SecurityDomainContext objects -->
+   <bean name="SecurityDomainObjectFactory" class="org.jboss.security.integration.SecurityDomainObjectFactory" />
+
+   <!-- JNDI Context legacy establishment of java:/jaas/securityDomain -->
+   <bean name="JBossSecurityJNDIContextEstablishment" class="org.jboss.security.integration.JNDIContextEstablishment"/>
+
+   <!-- JNDI Based Security Management -->
+   <bean name="JNDIBasedSecurityManagement" class="org.jboss.security.integration.JNDIBasedSecurityManagement">
+   </bean>
+
+</deployment>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/jndi.properties
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/jndi.properties	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/jndi.properties	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,4 @@
+# DO NOT EDIT THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING
+#
+java.naming.factory.initial=org.jboss.naming.JBossRemotingContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/log4j.xml
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/log4j.xml	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/log4j.xml	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+        <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+        <param name="Target" value="System.out"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <!-- The default pattern: Date Priority [Category] Message\n -->
+            <param name="ConversionPattern" value="%-5p [%c{6}] %m%n"/>
+        </layout>
+    </appender>
+
+    <!-- ############### Embedded JBoss AS #################  -->
+    <category name="org.jboss">
+        <priority value="INFO"/>
+    </category>
+    <category name="com.arjuna">
+        <priority value="ERROR"/>
+    </category>
+    
+    <!-- EMB-6, JMS activation throws an error due to deployment ordering, but as there is a timeout
+    and retry the tests pass. Hide the error message -->
+    <category name="jboss.resource.adapter.jms.inflow.JmsActivation">
+        <priority value="ERROR"/>
+    </category>
+
+    <!-- ############### Hibernate logging ################# -->
+
+    <category name="org.hibernate">
+        <priority value="INFO"/>
+    </category>
+
+    <!--
+    <category name="org.hibernate.SQL">
+        <priority value="TRACE"/>
+    </category>
+    <category name="org.hibernate.type">
+        <priority value="TRACE"/>
+    </category>
+    <category name="org.hibernate.loader">
+        <priority value="TRACE"/>
+    </category>
+    <category name="org.hibernate.cache">
+        <priority value="TRACE"/>
+    </category>
+    -->
+
+    <!-- ############### Seam logging ################### -->
+    <category name="org.jboss.seam">
+        <priority value="WARN"/>
+    </category>
+
+
+
+    <!-- These things are too noisy
+    <category name="org.jboss.seam.jsf.SeamVariableResolver">
+        <priority value="INFO"/>
+    </category>
+    <category name="org.jboss.seam.contexts.Contexts">
+        <priority value="INFO"/>
+    </category>
+    <category name="org.jboss.seam.Component">
+        <priority value="INFO"/>
+    </category>
+    <category name="org.jboss.seam.deployment.Scanner">
+        <priority value="INFO"/>
+    </category>
+    <category name="org.jboss.seam.util.Naming">
+        <priority value="INFO"/>
+    </category>
+    <category name="org.jboss.seam.debug.hot">
+        <priority value="INFO"/>
+    </category>
+    <category name="org.jboss.seam.core.Events">
+        <priority value="INFO"/>
+    </category>
+    -->
+
+    <!-- Debugging conversations and persistence contexts
+    <category name="org.jboss.seam.core.Manager">
+        <priority value="DEBUG"/>
+    </category>
+    <category name="org.jboss.seam.core.ManagedPersistenceContext">
+        <priority value="DEBUG"/>
+    </category>
+    <category name="org.jboss.seam.jsf.AbstractSeamPhaseListener">
+        <priority value="DEBUG"/>
+    </category>
+    <category name="org.jboss.seam.interceptors.ConversationInterceptor">
+        <priority value="DEBUG"/>
+    </category>
+    <category name="org.jboss.seam.contexts.Lifecycle">
+        <priority value="DEBUG"/>
+    </category>
+    <category name="org.hibernate.impl.SessionImpl">
+        <priority value="DEBUG"/>
+    </category>
+    <category name="org.hibernate.event.def.AbstractFlushingEventListener">
+        <priority value="DEBUG"/>
+    </category>
+    -->
+
+    <root>
+        <priority value="INFO"/>
+        <appender-ref ref="CONSOLE"/>
+    </root>
+
+</log4j:configuration>

Added: branches/JCA/jboss-embedded/src/main/resources/bootstrap/stylesheets/NoJRMPConnectionFactoryTemplate.xsl
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/bootstrap/stylesheets/NoJRMPConnectionFactoryTemplate.xsl	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/bootstrap/stylesheets/NoJRMPConnectionFactoryTemplate.xsl	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1,790 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+  <xsl:output method="xml" indent="yes"/>
+
+  <!--top level template converts to top level "server" tag-->
+  <xsl:template match="datasources|connection-factories"><!--|server|service"-->
+
+    <server>
+
+      <xsl:apply-templates/>
+
+    </server>
+
+  </xsl:template>
+
+
+  <!-- template for generic resource adapters supporting transactions -->
+  <xsl:template match="tx-connection-factory">
+
+    <mbean code="org.jboss.resource.connectionmanager.TxConnectionManager" 
+           name="jboss.jca:service=TxCM,name={jndi-name}" 
+           display-name="ConnectionManager for ConnectionFactory {jndi-name}">
+
+      <xsl:choose>
+        <xsl:when test="(xa-transaction) and (track-connection-by-tx)">
+          <attribute name="TrackConnectionByTx">true</attribute>
+          <attribute name="LocalTransactions">false</attribute>
+        </xsl:when>
+        <xsl:when test="(xa-transaction)">
+          <attribute name="TrackConnectionByTx">false</attribute>
+          <attribute name="LocalTransactions">false</attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <attribute name="TrackConnectionByTx">true</attribute>
+          <attribute name="LocalTransactions">true</attribute>
+        </xsl:otherwise>
+      </xsl:choose>
+      
+      <xsl:choose>
+        <xsl:when test="wrap-xa-resource">
+          <attribute name="WrapXAResource"><xsl:value-of select="normalize-space(wrap-xa-resource)"/></attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <attribute name="WrapXAResource">false</attribute>
+        </xsl:otherwise>
+      </xsl:choose>
+      
+      <xsl:choose>
+        <xsl:when test="pad-xid">
+          <attribute name="PadXid"><xsl:value-of select="normalize-space(pad-xid)"/></attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <attribute name="PadXid">false</attribute>
+        </xsl:otherwise>
+      </xsl:choose>      
+      
+      <xsl:if test="isSameRM-override-value">
+        <config-property name="IsSameRMOverrideValue" type="java.lang.Boolean"><xsl:value-of select="normalize-space(isSameRM-override-value)"/></config-property>
+      </xsl:if>
+                  
+      <xsl:if test="xa-resource-timeout">
+         <attribute name="XAResourceTransactionTimeout"><xsl:value-of select="normalize-space(xa-resource-timeout)"/></attribute>
+      </xsl:if>
+
+      <xsl:call-template name="pool">
+        <xsl:with-param name="mcf-template">generic-mcf</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="cm-common"/>
+      <xsl:call-template name="tx-manager"/>
+
+    </mbean>
+    <xsl:call-template name="cf-binding">
+       <xsl:with-param name="cm-name">jboss.jca:service=TxCM</xsl:with-param>
+    </xsl:call-template>
+
+    <xsl:call-template name="type-mapping">
+       <xsl:with-param name="datasource" select="."/>
+    </xsl:call-template>
+  </xsl:template>
+
+
+  <!--template for generic resource adapters that do not support transactions-->
+  <xsl:template match="no-tx-connection-factory">
+
+    <mbean code="org.jboss.resource.connectionmanager.NoTxConnectionManager" 
+           name="jboss.jca:service=NoTxCM,name={jndi-name}" 
+           display-name="ConnectionManager for ConnectionFactory {jndi-name}">
+
+      <xsl:call-template name="pool">
+        <xsl:with-param name="mcf-template">generic-mcf</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="cm-common"/>
+    </mbean>
+    <xsl:call-template name="cf-binding">
+       <xsl:with-param name="cm-name">jboss.jca:service=NoTxCM</xsl:with-param>
+    </xsl:call-template>
+
+    <xsl:call-template name="type-mapping">
+       <xsl:with-param name="datasource" select="."/>
+    </xsl:call-template>
+  </xsl:template>
+
+
+  <!-- Template for our jca-jdbc non-XADatasource (local) wrapper, using local transactions. -->
+  <xsl:template match="local-tx-datasource">
+
+    <mbean code="org.jboss.resource.connectionmanager.TxConnectionManager" 
+           name="jboss.jca:service=LocalTxCM,name={jndi-name}" 
+           display-name="ConnectionManager for DataSource {jndi-name}">
+
+      <attribute name="TrackConnectionByTx">true</attribute>
+      <attribute name="LocalTransactions">true</attribute>
+
+      <xsl:call-template name="pool">
+        <xsl:with-param name="mcf-template">local-wrapper</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="cm-common"/>
+      <xsl:call-template name="tx-manager"/>
+
+    </mbean>
+    <xsl:call-template name="cf-binding">
+       <xsl:with-param name="cm-name">jboss.jca:service=LocalTxCM</xsl:with-param>
+    </xsl:call-template>
+
+    <xsl:call-template name="type-mapping">
+       <xsl:with-param name="datasource" select="."/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- Template for our jca-jdbc non-XADatasource (local) wrapper, using no transactions. -->
+  <xsl:template match="no-tx-datasource">
+
+    <mbean code="org.jboss.resource.connectionmanager.NoTxConnectionManager" 
+           name="jboss.jca:service=NoTxCM,name={jndi-name}"
+           display-name="ConnectionManager for DataSource {jndi-name}">
+
+      <xsl:call-template name="pool">
+        <xsl:with-param name="mcf-template">local-wrapper</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="cm-common"/>
+    </mbean>
+    <xsl:call-template name="cf-binding">
+       <xsl:with-param name="cm-name">jboss.jca:service=NoTxCM</xsl:with-param>
+    </xsl:call-template>
+
+    <xsl:call-template name="type-mapping">
+       <xsl:with-param name="datasource" select="."/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- Template for our jca-jdbc XADatasource wrapper. -->
+  <xsl:template match="xa-datasource">
+
+    <mbean code="org.jboss.resource.connectionmanager.TxConnectionManager" 
+           name="jboss.jca:service=XATxCM,name={jndi-name}"
+           display-name="ConnectionManager for DataSource {jndi-name}">
+
+      <xsl:choose>
+        <xsl:when test="track-connection-by-tx">
+          <attribute name="TrackConnectionByTx">true</attribute>
+          <attribute name="LocalTransactions">false</attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <attribute name="TrackConnectionByTx">false</attribute>
+          <attribute name="LocalTransactions">false</attribute>
+        </xsl:otherwise>
+      </xsl:choose>
+
+      <xsl:if test="isSameRM-override-value">
+        <config-property name="IsSameRMOverrideValue" type="java.lang.Boolean"><xsl:value-of select="normalize-space(isSameRM-override-value)"/></config-property>
+      </xsl:if>
+      
+      <xsl:choose>
+        <xsl:when test="wrap-xa-resource">
+          <attribute name="WrapXAResource"><xsl:value-of select="normalize-space(wrap-xa-resource)"/></attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <attribute name="WrapXAResource">false</attribute>
+        </xsl:otherwise>
+      </xsl:choose>
+      
+      <xsl:choose>
+        <xsl:when test="pad-xid">
+          <attribute name="PadXid"><xsl:value-of select="normalize-space(pad-xid)"/></attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <attribute name="PadXid">false</attribute>
+        </xsl:otherwise>
+      </xsl:choose>      
+      
+      
+      <xsl:if test="xa-resource-timeout">
+         <attribute name="XAResourceTransactionTimeout"><xsl:value-of select="normalize-space(xa-resource-timeout)"/></attribute>
+      </xsl:if>
+
+      <xsl:call-template name="pool">
+        <xsl:with-param name="mcf-template">xa-wrapper</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="cm-common"/>
+      <xsl:call-template name="tx-manager"/>
+
+    </mbean>
+    <xsl:call-template name="cf-binding">
+       <xsl:with-param name="cm-name">jboss.jca:service=XATxCM</xsl:with-param>
+    </xsl:call-template>
+
+    <xsl:call-template name="type-mapping">
+       <xsl:with-param name="datasource" select="."/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- template to generate a property file format from a set of               -->
+  <!-- <xa-datasource-property name="blah">blah-value</xa-datasource-property> -->
+  <!-- or                                                                      -->
+  <!-- <connection-property name="foo">bar</connection-property>               -->
+  <!-- tags. The newline in the xsl:text element is crucial!                   -->
+  <!-- this makes a property file format, not the ; delimited format-->
+  <xsl:template match="xa-datasource-property|connection-property">
+    <xsl:value-of select="@name"/>=<xsl:value-of select="normalize-space(.)"/><xsl:text>
+</xsl:text>
+  </xsl:template>
+
+  <!-- template to generate the ManagedConnectionFactory mbean for a generic jca adapter -->
+  <xsl:template name="generic-mcf">
+      <depends optional-attribute-name="ManagedConnectionFactoryName">
+      <!--embedded mbean-->
+        <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=ManagedConnectionFactory,name={jndi-name}" display-name="ManagedConnectionFactory for ConnectionFactory {jndi-name}">
+
+          <xsl:apply-templates select="depends" mode="anonymous"/>
+          <attribute name="ManagedConnectionFactoryProperties">
+            <properties>
+
+              <!--we need the other standard properties here-->
+              <xsl:if test="user-name">
+                <config-property name="UserName" type="java.lang.String"><xsl:value-of select="normalize-space(user-name)"/></config-property>
+              </xsl:if>
+              <xsl:if test="password">
+                <config-property name="Password" type="java.lang.String"><xsl:value-of select="normalize-space(password)"/></config-property>
+              </xsl:if>
+              <xsl:apply-templates select="config-property"/>
+            </properties>
+          </attribute>
+
+          <attribute name="RARName"><xsl:value-of select="rar-name"/></attribute>
+          <attribute name="ConnectionDefinition"><xsl:value-of select="connection-definition"/></attribute>
+
+          <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name='<xsl:value-of select="rar-name"/>'</depends>
+
+        </mbean>
+      </depends>
+  </xsl:template>
+
+  <!-- template to copy config-property elements.  This actually does a literal copy -->
+  <!-- Please keep this for consistency with the jb4 version which does not do a literal copy -->
+  <xsl:template match="config-property">
+    <config-property name="{@name}" type="{@type}"><xsl:apply-templates/></config-property>
+  </xsl:template>
+
+  <!-- template to generate the ManagedConnectionFactory mbean for our jca-jdbc local wrapper -->
+  <xsl:template name="local-wrapper">
+
+      <depends optional-attribute-name="ManagedConnectionFactoryName">
+      <!--embedded mbean-->
+        <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=ManagedConnectionFactory,name={jndi-name}" display-name="ManagedConnectionFactory for DataSource {jndi-name}">
+
+          <xsl:apply-templates select="depends" mode="anonymous"/>
+
+          <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name='jboss-local-jdbc.rar'</depends>
+          <attribute name="RARName"><xsl:value-of select="jboss-local-jdbc.rar"/></attribute>
+          <attribute name="ConnectionDefinition">javax.sql.DataSource</attribute>
+
+          <attribute name="ManagedConnectionFactoryProperties">
+            <properties>
+              <config-property name="ConnectionURL" type="java.lang.String"><xsl:value-of select="normalize-space(connection-url)"/></config-property>
+              <config-property name="DriverClass" type="java.lang.String"><xsl:value-of select="normalize-space(driver-class)"/></config-property>
+
+              <xsl:call-template name="wrapper-common-properties"/>
+              <xsl:if test="connection-property">
+                <config-property name="ConnectionProperties" type="java.lang.String">
+                  <xsl:apply-templates select="connection-property"/>
+                </config-property>
+              </xsl:if>
+
+            </properties>
+          </attribute>
+        </mbean>
+      </depends>
+  </xsl:template>
+
+  <xsl:template name="xa-wrapper">
+     <depends optional-attribute-name="ManagedConnectionFactoryName">
+        <!--embedded mbean-->
+        <mbean code="org.jboss.resource.connectionmanager.RARDeployment"
+              name="jboss.jca:service=ManagedConnectionFactory,name={jndi-name}"
+              displayname="ManagedConnectionFactory for DataSource {jndi-name}">
+          
+          <xsl:apply-templates select="depends" mode="anonymous"/>
+
+          <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name='jboss-xa-jdbc.rar'</depends>
+          <attribute name="RARName"><xsl:value-of select="jboss-xa-jdbc.rar"/></attribute>
+          <attribute name="ConnectionDefinition">javax.sql.DataSource</attribute>
+
+          <attribute name="ManagedConnectionFactoryProperties">
+            <properties>
+              <config-property name="XADataSourceClass" type="java.lang.String"><xsl:value-of select="normalize-space(xa-datasource-class)"/></config-property>
+
+              <config-property name="XADataSourceProperties" type="java.lang.String">
+                <xsl:apply-templates select="xa-datasource-property"/>
+              </config-property>
+              
+              <!-- remove for new XA handling
+              <xsl:if test="isSameRM-override-value">
+                <config-property name="IsSameRMOverrideValue" type="java.lang.Boolean"><xsl:value-of select="normalize-space(isSameRM-override-value)"/></config-property>
+              </xsl:if>
+              -->
+              <xsl:call-template name="wrapper-common-properties"/>
+
+            </properties>
+          </attribute>
+        </mbean>
+      </depends>
+  </xsl:template>
+
+  <!-- template for the ManagedConnectionFactory properties shared between our local and xa wrappers -->
+  <xsl:template name="wrapper-common-properties">
+
+          <xsl:if test="transaction-isolation">
+            <config-property name="TransactionIsolation" type="java.lang.String"><xsl:value-of select="normalize-space(transaction-isolation)"/></config-property>
+          </xsl:if>
+          <xsl:if test="user-name">
+            <config-property name="UserName" type="java.lang.String"><xsl:value-of select="normalize-space(user-name)"/></config-property>
+          </xsl:if>
+          <xsl:if test="password">
+            <config-property name="Password" type="java.lang.String"><xsl:value-of select="normalize-space(password)"/></config-property>
+          </xsl:if>
+          <xsl:if test="new-connection-sql">
+            <config-property name="NewConnectionSQL" type="java.lang.String"><xsl:value-of select="normalize-space(new-connection-sql)"/></config-property>
+          </xsl:if>
+          <xsl:if test="check-valid-connection-sql">
+            <config-property name="CheckValidConnectionSQL" type="java.lang.String"><xsl:value-of select="normalize-space(check-valid-connection-sql)"/></config-property>
+          </xsl:if>
+          <xsl:if test="valid-connection-checker-class-name">
+            <config-property name="ValidConnectionCheckerClassName" type="java.lang.String"><xsl:value-of select="normalize-space(valid-connection-checker-class-name)"/></config-property>
+          </xsl:if>
+          <xsl:if test="exception-sorter-class-name">
+            <config-property name="ExceptionSorterClassName" type="java.lang.String"><xsl:value-of select="normalize-space(exception-sorter-class-name)"/></config-property>
+          </xsl:if>
+          <xsl:if test="stale-connection-checker-class-name">
+          <config-property name="StaleConnectionCheckerClassName" type="java.lang.String"><xsl:value-of select="normalize-space(stale-connection-checker-class-name)"/></config-property>
+          </xsl:if>
+          <xsl:if test="track-statements">
+            <config-property name="TrackStatements" type="java.lang.String"><xsl:value-of select="normalize-space(track-statements)"/></config-property>
+          </xsl:if>
+          <xsl:if test="prepared-statement-cache-size">
+            <config-property name="PreparedStatementCacheSize" type="int"><xsl:value-of select="normalize-space(prepared-statement-cache-size)"/></config-property>
+          </xsl:if>
+          <xsl:if test="share-prepared-statements">
+            <config-property name="SharePreparedStatements" type="boolean"><xsl:value-of select="normalize-space(share-prepared-statements)"/></config-property>
+          </xsl:if>
+          <xsl:if test="set-tx-query-timeout">
+            <config-property name="TransactionQueryTimeout" type="boolean">true</config-property>
+          </xsl:if>
+          <xsl:if test="query-timeout">
+            <config-property name="QueryTimeout" type="int"><xsl:value-of select="normalize-space(query-timeout)"/></config-property>
+          </xsl:if>
+          <xsl:if test="url-delimeter">
+            <config-property name="URLDelimeter" type="java.lang.String"><xsl:value-of select="normalize-space(url-delimeter)"/></config-property>
+          </xsl:if>
+          <!-- new matching/background validation-->
+          <xsl:choose>
+            <xsl:when test="validate-on-match">
+              <config-property name="ValidateOnMatch" type="boolean"><xsl:value-of select="normalize-space(validate-on-match)"/></config-property>
+            </xsl:when>
+            <xsl:otherwise>
+              <config-property name="ValidateOnMatch" type="boolean">true</config-property>
+            </xsl:otherwise>
+          </xsl:choose>    
+  </xsl:template>
+
+  <!-- template to generate the pool mbean -->
+  <xsl:template name="pool">
+      <xsl:param name="mcf-template">generic-mcf</xsl:param>
+      <depends optional-attribute-name="ManagedConnectionPool">
+
+        <!--embedded mbean-->
+        <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" name="jboss.jca:service=ManagedConnectionPool,name={jndi-name}" display-name="Connection Pool for DataSource {jndi-name}">
+          <xsl:choose>
+            <xsl:when test="$mcf-template='generic-mcf'">
+              <xsl:call-template name="generic-mcf"/>
+            </xsl:when>
+             <xsl:when test="$mcf-template='local-wrapper'">
+               <xsl:call-template name="local-wrapper"/>
+             </xsl:when>
+             <xsl:when test="$mcf-template='ha-local-wrapper'">
+               <xsl:call-template name="ha-local-wrapper"/>
+             </xsl:when>
+             <xsl:when test="$mcf-template='ha-xa-wrapper'">
+               <xsl:call-template name="ha-xa-wrapper"/>
+             </xsl:when>
+            <xsl:when test="$mcf-template='xa-wrapper'">
+              <xsl:call-template name="xa-wrapper"/>
+            </xsl:when>
+          </xsl:choose>
+          
+          <attribute name="PoolJndiName"><xsl:value-of select="jndi-name"/></attribute>
+          
+          <xsl:choose>
+            <xsl:when test="min-pool-size">
+              <attribute name="MinSize"><xsl:value-of select="min-pool-size"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="MinSize">0</attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:choose>
+            <xsl:when test="max-pool-size">
+              <attribute name="MaxSize"><xsl:value-of select="max-pool-size"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="MaxSize">20</attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:choose>
+            <xsl:when test="blocking-timeout-millis">
+              <attribute name="BlockingTimeoutMillis"><xsl:value-of select="blocking-timeout-millis"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="BlockingTimeoutMillis">30000</attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:choose>
+            <xsl:when test="idle-timeout-minutes">
+              <attribute name="IdleTimeoutMinutes"><xsl:value-of select="idle-timeout-minutes"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="IdleTimeoutMinutes">15</attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          <!-- background validation -->
+          <xsl:choose>            
+            <xsl:when test="background-validation">
+              <attribute name="BackGroundValidation"><xsl:value-of select="background-validation"/></attribute>
+            </xsl:when>            
+            <xsl:otherwise>
+              <attribute name="BackGroundValidation">False</attribute>              
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:choose>
+            <xsl:when test="background-validation-minutes">
+              <attribute name="BackGroundValidationMinutes"><xsl:value-of select="background-validation-minutes"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="BackGroundValidationMinutes">10</attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:choose>
+            <xsl:when test="prefill">
+              <attribute name="PreFill"><xsl:value-of select="prefill"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="PreFill">False</attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:choose>
+            <xsl:when test="strict-min">
+              <attribute name="StrictMin"><xsl:value-of select="strict-min"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="StrictMin">False</attribute>
+            </xsl:otherwise>
+          </xsl:choose>
+          
+          
+          <xsl:choose>            
+            <xsl:when test="statistics-formatter">
+              <attribute name="StatisticsFormatter"><xsl:value-of select="statistics-formatter"/></attribute>
+            </xsl:when>
+            <xsl:otherwise>
+              <attribute name="StatisticsFormatter">org.jboss.resource.statistic.pool.JBossDefaultSubPoolStatisticFormatter</attribute>
+            </xsl:otherwise>            
+          </xsl:choose>
+          
+          <!--
+		criteria indicates if Subject (from security domain) or app supplied
+            parameters (such as from getConnection(user, pw)) are used to distinguish
+            connections in the pool. Choices are 
+            ByContainerAndApplication (use both), 
+            ByContainer (use Subject),
+            ByApplication (use app supplied params only),
+            ByNothing (all connections are equivalent, usually if adapter supports
+              reauthentication)-->
+          <attribute name="Criteria">
+	    <xsl:choose>
+              <xsl:when test="application-managed-security">ByApplication</xsl:when>
+              <xsl:when test="security-domain-and-application">ByContainerAndApplication</xsl:when>
+              <xsl:when test="security-domain">ByContainer</xsl:when>
+              <xsl:otherwise>ByNothing</xsl:otherwise>
+            </xsl:choose>
+          </attribute>
+         <xsl:choose>
+           <xsl:when test="no-tx-separate-pools">
+             <attribute name="NoTxSeparatePools">true</attribute>
+           </xsl:when>
+         </xsl:choose>
+        </mbean>
+      </depends>
+  </xsl:template>
+
+
+  <!-- template for ConnectionManager attributes shared among all ConnectionManagers.-->
+  <xsl:template name="cm-common">
+
+      <attribute name="JndiName"><xsl:value-of select="jndi-name"/></attribute>
+      <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>
+
+      <xsl:if test="security-domain|security-domain-and-application">
+        <attribute name="SecurityDomainJndiName"><xsl:value-of select="security-domain|security-domain-and-application"/></attribute>
+        <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager</depends>
+      </xsl:if>
+
+  </xsl:template>
+
+  <!-- Datasource binding -->
+  <xsl:template name="ds-binding">
+    <xsl:param name="cm-name"></xsl:param>
+
+    <mbean code="org.jboss.resource.adapter.jdbc.remote.WrapperDataSourceService" 
+           name="jboss.jca:service=DataSourceBinding,name={jndi-name}" 
+           display-name="Binding for DataSource {jndi-name}">
+      <attribute name="JndiName"><xsl:value-of select="jndi-name"/></attribute>
+      <!--
+      <xsl:choose>
+         <xsl:when test="use-java-context">
+            <xsl:call-template name="use-java-context">
+               <xsl:with-param name="use-java"><xsl:value-of select="use-java-context"/></xsl:with-param>
+            </xsl:call-template>
+         </xsl:when>
+         <xsl:otherwise>
+            <attribute name="UseJavaContext">true</attribute>
+         </xsl:otherwise>
+       </xsl:choose>
+      -->
+      <xsl:choose>
+        <xsl:when test="use-java-context">
+          <attribute name="UseJavaContext"><xsl:value-of select="use-java-context"/></attribute>
+        </xsl:when>
+        <xsl:otherwise>
+          <attribute name="UseJavaContext">true</attribute>
+        </xsl:otherwise>
+      </xsl:choose>
+      <depends optional-attribute-name="ConnectionManager">
+         <xsl:value-of select="$cm-name"/>,name=<xsl:value-of select="jndi-name"/>
+      </depends>
+      <xsl:choose>
+        <xsl:when test="jmx-invoker-name">
+          <depends optional-attribute-name="JMXInvokerName"><xsl:value-of select="jmx-invoker-name"/></depends>
+        </xsl:when>
+        <xsl:otherwise>
+          <depends optional-attribute-name="JMXInvokerName">jboss:service=invoker,type=jrmp</depends>
+        </xsl:otherwise>
+      </xsl:choose>
+    
+    </mbean>
+  </xsl:template>
+
+   <xsl:template name="use-java-context">
+      <xsl:param name="use-java" />
+      <attribute name="UseJavaContext"><xsl:value-of select="$use-java"/></attribute>
+      <!-- Only assign the JMXInvokerName attribute and dependency if use-java-context is false -->
+      <xsl:if test="$use-java = 'false'">
+         <xsl:choose>
+            <xsl:when test="jmx-invoker-name">
+               <depends optional-attribute-name="JMXInvokerName"><xsl:value-of select="jmx-invoker-name"/></depends>
+            </xsl:when>
+            <xsl:otherwise>
+               <depends optional-attribute-name="JMXInvokerName">jboss:service=invoker,type=jrmp</depends>
+            </xsl:otherwise>
+         </xsl:choose>
+      </xsl:if>
+   </xsl:template>
+
+  <!-- Connection factory binding -->
+  <xsl:template name="cf-binding">
+    <xsl:param name="cm-name"></xsl:param>
+
+    <mbean code="org.jboss.resource.connectionmanager.ConnectionFactoryBindingService" 
+           name="jboss.jca:service=DataSourceBinding,name={jndi-name}" 
+           display-name="Binding for ConnectionFactory {jndi-name}">
+      <attribute name="JndiName"><xsl:value-of select="jndi-name"/></attribute>
+      <xsl:choose>
+         <xsl:when test="use-java-context">
+            <attribute name="UseJavaContext"><xsl:value-of select="use-java-context"/></attribute>
+         </xsl:when>
+         <xsl:otherwise>
+            <attribute name="UseJavaContext">true</attribute>
+         </xsl:otherwise>
+       </xsl:choose>
+      <depends optional-attribute-name="ConnectionManager">
+         <xsl:value-of select="$cm-name"/>,name=<xsl:value-of select="jndi-name"/>
+      </depends>
+    </mbean>
+  </xsl:template>
+
+  <xsl:template name="tx-manager">
+      <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
+  </xsl:template>
+
+   <xsl:template name="type-mapping">
+      <xsl:param name="datasource"/>
+
+      <xsl:if test="$datasource/metadata or $datasource/type-mapping">
+         <xsl:element name="mbean">
+            <xsl:attribute name="code">org.jboss.ejb.plugins.cmp.jdbc.metadata.DataSourceMetaData</xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:text>jboss.jdbc:service=metadata,datasource=</xsl:text>
+               <xsl:value-of select="$datasource/jndi-name"/>
+            </xsl:attribute>
+
+            <xsl:element name="depends">
+               <xsl:attribute name="optional-attribute-name">MetadataLibrary</xsl:attribute>
+               <xsl:text>jboss.jdbc:service=metadata</xsl:text>
+            </xsl:element>
+
+            <xsl:if test="$datasource/type-mapping">
+               <xsl:element name="attribute">
+                  <xsl:attribute name="name">TypeMapping</xsl:attribute>
+                  <xsl:value-of select="$datasource/type-mapping"/>
+               </xsl:element>
+            </xsl:if>
+
+            <!-- DEPRECATED in favor of type-mapping -->
+            <xsl:if test="$datasource/metadata">
+               <xsl:element name="attribute">
+                  <xsl:attribute name="name">TypeMapping</xsl:attribute>
+                  <xsl:value-of select="$datasource/metadata/type-mapping"/>
+               </xsl:element>
+            </xsl:if>
+         </xsl:element>
+      </xsl:if>
+   </xsl:template>
+
+  <!-- template to copy any anonymous depends elements inside a cf/ds configuration element -->
+  <xsl:template match="depends" mode="anonymous">
+    <depends><xsl:value-of select="."/></depends>
+  </xsl:template>
+
+  <!-- template to copy all other elements literally, mbeans for instance-->
+  <xsl:template match="*|@*|text()">
+    <xsl:copy>
+      <xsl:apply-templates select="*|@*|text()"/>
+    </xsl:copy>
+  </xsl:template>
+
+   <!--
+      | new experimental ha stuff
+   -->
+
+   <xsl:template match="ha-local-tx-datasource">
+
+     <mbean code="org.jboss.resource.connectionmanager.TxConnectionManager"
+            name="jboss.jca:service=LocalTxCM,name={jndi-name}"
+            display-name="ConnectionManager for DataSource {jndi-name}">
+
+       <attribute name="TrackConnectionByTx">true</attribute>
+       <attribute name="LocalTransactions">true</attribute>
+
+       <xsl:call-template name="pool">
+         <xsl:with-param name="mcf-template">ha-local-wrapper</xsl:with-param>
+       </xsl:call-template>
+       <xsl:call-template name="cm-common"/>
+       <xsl:call-template name="tx-manager"/>
+
+     </mbean>
+     <xsl:call-template name="ds-binding">
+        <xsl:with-param name="cm-name">jboss.jca:service=LocalTxCM</xsl:with-param>
+     </xsl:call-template>
+
+     <xsl:call-template name="type-mapping">
+        <xsl:with-param name="datasource" select="."/>
+     </xsl:call-template>
+   </xsl:template>
+
+   <!-- template to generate the ManagedConnectionFactory mbean for our jca-jdbc local wrapper -->
+   <xsl:template name="ha-local-wrapper">
+
+       <depends optional-attribute-name="ManagedConnectionFactoryName">
+       <!--embedded mbean-->
+         <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=ManagedConnectionFactory,name={jndi-name}" display-name="ManagedConnectionFactory for DataSource {jndi-name}">
+
+           <xsl:apply-templates select="depends" mode="anonymous"/>
+
+           <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name='jboss-ha-local-jdbc.rar'</depends>
+           <attribute name="RARName"><xsl:value-of select="jboss-ha-local-jdbc.rar"/></attribute>
+           <attribute name="ConnectionDefinition">javax.sql.DataSource</attribute>
+
+           <attribute name="ManagedConnectionFactoryProperties">
+             <properties>
+                <config-property name="ConnectionURL" type="java.lang.String"><xsl:value-of select="normalize-space(connection-url)"/></config-property>
+                <config-property name="DriverClass" type="java.lang.String"><xsl:value-of select="normalize-space(driver-class)"/></config-property>
+
+                <xsl:call-template name="wrapper-common-properties"/>
+                <xsl:if test="connection-property">
+                  <config-property name="ConnectionProperties" type="java.lang.String">
+                    <xsl:apply-templates select="connection-property"/>
+                  </config-property>
+                </xsl:if>
+
+             </properties>
+           </attribute>
+         </mbean>
+       </depends>
+   </xsl:template>
+
+   <xsl:template match="ha-xa-datasource">
+
+     <mbean code="org.jboss.resource.connectionmanager.TxConnectionManager"
+            name="jboss.jca:service=XATxCM,name={jndi-name}"
+            display-name="ConnectionManager for DataSource {jndi-name}">
+
+       <xsl:choose>
+         <xsl:when test="track-connection-by-tx">
+           <attribute name="TrackConnectionByTx">true</attribute>
+           <attribute name="LocalTransactions">false</attribute>
+         </xsl:when>
+         <xsl:otherwise>
+           <attribute name="TrackConnectionByTx">false</attribute>
+           <attribute name="LocalTransactions">false</attribute>
+         </xsl:otherwise>
+       </xsl:choose>
+
+      <xsl:if test="xa-resource-timeout">
+         <attribute name="XAResourceTransactionTimeout"><xsl:value-of select="normalize-space(xa-resource-timeout)"/></attribute>
+      </xsl:if>
+
+       <xsl:call-template name="pool">
+         <xsl:with-param name="mcf-template">ha-xa-wrapper</xsl:with-param>
+       </xsl:call-template>
+       <xsl:call-template name="cm-common"/>
+       <xsl:call-template name="tx-manager"/>
+
+     </mbean>
+     <xsl:call-template name="ds-binding">
+        <xsl:with-param name="cm-name">jboss.jca:service=XATxCM</xsl:with-param>
+     </xsl:call-template>
+
+     <xsl:call-template name="type-mapping">
+        <xsl:with-param name="datasource" select="."/>
+     </xsl:call-template>
+   </xsl:template>
+
+   <xsl:template name="ha-xa-wrapper">
+      <depends optional-attribute-name="ManagedConnectionFactoryName">
+         <!--embedded mbean-->
+         <mbean code="org.jboss.resource.connectionmanager.RARDeployment"
+               name="jboss.jca:service=ManagedConnectionFactory,name={jndi-name}"
+               displayname="ManagedConnectionFactory for DataSource {jndi-name}">
+
+           <xsl:apply-templates select="depends" mode="anonymous"/>
+
+           <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name='jboss-ha-xa-jdbc.rar'</depends>
+           <attribute name="RARName"><xsl:value-of select="jboss-ha-xa-jdbc.rar"/></attribute>
+           <attribute name="ConnectionDefinition">javax.sql.DataSource</attribute>
+
+           <attribute name="ManagedConnectionFactoryProperties">
+             <properties>
+               <config-property name="XADataSourceClass" type="java.lang.String"><xsl:value-of select="normalize-space(xa-datasource-class)"/></config-property>
+
+               <config-property name="XADataSourceProperties" type="java.lang.String">
+                 <xsl:apply-templates select="xa-datasource-property"/>
+               </config-property>
+
+               <xsl:if test="isSameRM-override-value">
+                 <config-property name="IsSameRMOverrideValue" type="java.lang.Boolean"><xsl:value-of select="normalize-space(isSameRM-override-value)"/></config-property>
+               </xsl:if>
+
+                <xsl:if test="url-property">
+                  <config-property name="URLProperty" type="java.lang.String"><xsl:value-of select="normalize-space(url-property)"/></config-property>
+                </xsl:if>
+
+               <xsl:call-template name="wrapper-common-properties"/>
+
+             </properties>
+           </attribute>
+         </mbean>
+       </depends>
+   </xsl:template>
+
+</xsl:stylesheet>

Added: branches/JCA/jboss-embedded/src/main/resources/readme.txt
===================================================================
--- branches/JCA/jboss-embedded/src/main/resources/readme.txt	                        (rev 0)
+++ branches/JCA/jboss-embedded/src/main/resources/readme.txt	2009-12-19 03:37:05 UTC (rev 1684)
@@ -0,0 +1 @@
+This Bootstrap is from BETA3-SP10 of EmbeddedJBoss.



More information about the teiid-commits mailing list