[jboss-svn-commits] JBL Code SVN: r34504 - in labs/jbosstm/workspace/whitingjr/trunk/performance: src/main/java/org/jboss/jbossts/performance/profiler and 13 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Aug 4 08:17:38 EDT 2010


Author: whitingjr
Date: 2010-08-04 08:17:36 -0400 (Wed, 04 Aug 2010)
New Revision: 34504

Added:
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/client.properties
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTask.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTest.java
Removed:
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/XACachedConnection.java
Modified:
   labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties
   labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/pom.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/AbstractProfiler.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JProfiler.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/NoOpProfiler.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/log4j.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/ant-profiler.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/configuration.properties
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/ant-profiler.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/configuration.properties
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/ant-profiler.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/config.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/configuration.properties
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/ant-profiler.xml
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/configuration.properties
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/WarmedUpTest.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/jdbc/JDBCTask.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/resource/SynchronizeTask.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/RecursiveTask.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/CachedConnection.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/ConnectionHandler.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/PooledConnectionHandler.java
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/resources/testsuite-integration-ejb3.xml
Log:
Added profiler plugin configuration.

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties	2010-08-04 12:17:36 UTC (rev 34504)
@@ -4,43 +4,43 @@
 # required
 
 transaction.strategy=jta-managed
-resource.A.db.installation=co-located-db
-resource.A.db.vendor=postgresql
-resource.A.jdbc-datasource=local-tx
 
-resource.B.db.installation=co-located-db
-resource.B.db.vendor=postgresql
-resource.B.jdbc-datasource=local-tx
+resource.A.db.installation=remote-db
+resource.A.db.vendor=oracle
+resource.A.jdbc-datasource=xa
+
+resource.B.db.installation=remote-db
+resource.B.db.vendor=oracle
+resource.B.jdbc-datasource=xa
 profiler=none
 #profiler=jip
 #profiler=jprofiler
+#profiler=jbossprofiler
 
-# optional
-
-transaction.log.store=logs
-
 threads=40
-warmup-count=300
-profiled-count=7000
+warmup-count=1
+profiled-count=3
 
 # y or n
-profiled=n
+profiled=y
 
 # does the profiled wait for a debugger to be attached ?
 # y or n
 suspend=n
 
 # pooled|cached
-connection_handling=cached
-#connection_handling=pooled
+#connection_handling=cached
+connection_handling=pooled
 
 # optional write
 optional.write.enabled=true
 
 # test case
 #fqcn.test.case=org.jboss.jbossts.performance.resource.SynchronizeResourcesTest
-fqcn.test.case=org.jboss.jbossts.performance.jdbc.JDBCTest
+#fqcn.test.case=org.jboss.jbossts.performance.jdbc.JDBCTest
+fqcn.test.case=org.jboss.jbossts.performance.comparrison.ComparrisonTest
 
 # object store
-action.store.fqcn=com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore
-#action.store.fqcn=com.arjuna.ats.internal.arjuna.objectstore.VolatileStore
+#action.store.fqcn=com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore
+action.store.fqcn=com.arjuna.ats.internal.arjuna.objectstore.VolatileStore
+

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -13,387 +13,394 @@
   -->
 
 <project name="JBoss TM performance comparison project" default="htm">
-	<!--
-	This project executes the Hibernate sample application Caveat Emptor. There are two versions
-	and this project uses the version based on JPA. By running the sample test case and additional
-	tests the quantity of time components demand for applications using ORM and a database can be
-	captured for comparison and analysis.
-	The criteria for comparison are: database vendor, JDBC native or JTA managed transaction
-	and resource datasource configuration.
-	To run the performance tests you will need to download the client database driver
-	appropriate to the database(s) profiled against. Follow the configuration instructions 
-	in the INSTALL.txt file.
-	
-	 Each database driver is installed using this
-	pattern. Place the driver jar file in the following directory
-	./libs/dbdrivers/<dbvendor>/
-	The <dbvendor> directory for common vendors are already created. It is used later in the 
-	command flags.
-	
-	Then the database connection details require configuring. Again a directory has been
-	created for common databases.
-	./performance/src/main/resources/properties/database/<dbvendor>/
-	If the database you are using does not already exist then copy an existing
-	directory of vendor properties. Use an identical directory name created for the driver.
-	
-	To summarise, if the vendor is not prepared create directories with an identical 
-	vendor name (no spaces) in these locations:
-	./libs/dbdrivers/<dbvendor>
-	./src/main/resources/properties/database/<dbvendor>
-	./src/main/resources/xsl/database/<dbvendor>
-	
-	To use a profiler than the default Java Interactive Profiler you will need to 
-	configure the installation. If your profiler is not already included create a 
-	folder 
-	src/main/resources/properties/profiler/<profilervendor>
-	and use an existing property file as a guide. Profilers loaded using agentlib, agentpath 
-	and javaagent can be used. Create a new folder to include the java agent library
-	lib/profilerdrivers/<profilervendor>
-	when using a java agent such as JIP.
-	 -->
+   <!--
+   This project executes the Hibernate sample application Caveat Emptor. There are two versions
+   and this project uses the version based on JPA. By running the sample test case and additional
+   tests the quantity of time components demand for applications using ORM and a database can be
+   captured for comparison and analysis.
+   The criteria for comparison are: database vendor, JDBC native or JTA managed transaction
+   and resource datasource configuration.
+   To run the performance tests you will need to download the client database driver
+   appropriate to the database(s) profiled against. Follow the configuration instructions 
+   in the INSTALL.txt file.
+   
+    Each database driver is installed using this
+   pattern. Place the driver jar file in the following directory
+   ./libs/dbdrivers/<dbvendor>/
+   The <dbvendor> directory for common vendors are already created. It is used later in the 
+   command flags.
+   
+   Then the database connection details require configuring. Again a directory has been
+   created for common databases.
+   ./performance/src/main/resources/properties/database/<dbvendor>/
+   If the database you are using does not already exist then copy an existing
+   directory of vendor properties. Use an identical directory name created for the driver.
+   
+   To summarise, if the vendor is not prepared create directories with an identical 
+   vendor name (no spaces) in these locations:
+   ./libs/dbdrivers/<dbvendor>
+   ./src/main/resources/properties/database/<dbvendor>
+   ./src/main/resources/xsl/database/<dbvendor>
+   
+   To use a profiler than the default Java Interactive Profiler you will need to 
+   configure the installation. If your profiler is not already included create a 
+   folder 
+   src/main/resources/properties/profiler/<profilervendor>
+   and use an existing property file as a guide. Profilers loaded using agentlib, agentpath 
+   and javaagent can be used. Create a new folder to include the java agent library
+   lib/profilerdrivers/<profilervendor>
+   when using a java agent such as JIP.
+    -->
 
-	<!--
-	  Viewing the profiling results.
-	  Use either the profilers GUI to view the captured data.
-	  The CPU metrics can be viewed using the generated chart of the Dstat process. A
-	  browser ready htm file is generated.
+   <!--
+     Viewing the profiling results.
+     Use either the profilers GUI to view the captured data.
+     The CPU metrics can be viewed using the generated chart of the Dstat process. A
+     browser ready htm file is generated.
     -->
-	
-	<property name="build.classes.dir" value="build/classes" />
-	<property name="test.output.dir" value="target" />
-	<property name="log.output.dir" value="/home/whitingjr/tsperf/profiling" />
+   
+   <property name="build.classes.dir" value="build/classes" />
+   <property name="test.output.dir" value="target" />
+   <property name="log.output.dir" value="/home/whitingjr/tsperf/profiling" />
 
-	<property file="build.properties" />
-	<property name="required-args" value="-Dtransaction.strategy=value -Dresource.A.db.installation=value -Dresource.A.db.vendor=value -Dresource.A.jdbc-datasource=value -Dprofiler=value" />
-	<property name="optional-args" value="-Dtransaction.log.store=value -Dresource.B.db.installation=value -Dresource.B.db.vendor=value -Dresource.B.jdbc-datasource=value -Dthreads=value" />
-	
-	<property name="profile-file" value="profile.csv"/>
-	<property name="dstat-file" value="dstat.csv"/>
+   <property file="build.properties" />
+   <property name="required-args" value="-Dtransaction.strategy=value -Dresource.A.db.installation=value -Dresource.A.db.vendor=value -Dresource.A.jdbc-datasource=value -Dprofiler=value" />
+   <property name="optional-args" value="-Dtransaction.log.store=value -Dresource.B.db.installation=value -Dresource.B.db.vendor=value -Dresource.B.jdbc-datasource=value -Dthreads=value" />
+   
+   <property name="profile-file" value="profile.csv"/>
+   <property name="dstat-file" value="dstat.csv"/>
 
-	<property name="driver.home" value="lib/dbdrivers" />
-	<property name="properties.home" value="src/main/resources/properties" />
-	<loadproperties srcfile="src/main/resources/properties/profiler/${profiler}/configuration.properties">
+   <property name="driver.home" value="lib/dbdrivers" />
+   <property name="properties.home" value="src/main/resources/properties" />
+   <loadproperties srcfile="src/main/resources/properties/profiler/${profiler}/configuration.properties">
       <filterchain>
          <expandproperties />
       </filterchain>
-   </loadproperties>		
-	
-	<path id="database.driver">
-		<fileset dir="${driver.home}/${resource.A.db.vendor}">
-			<include name="*.jar" />
-		</fileset>
-		<fileset dir="${driver.home}/${resource.B.db.vendor}">
-			<include name="*.jar" />
-		</fileset>
-	</path>
+   </loadproperties>    
+   
+   <path id="database.driver">
+      <fileset dir="${driver.home}/${resource.A.db.vendor}">
+         <include name="*.jar" />
+      </fileset>
+      <fileset dir="${driver.home}/${resource.B.db.vendor}">
+         <include name="*.jar" />
+      </fileset>
+   </path>
 
-	<path id="profiler.library">
-		<fileset dir="lib/profilerdrivers/${profiler}">
-			<include name="*.jar" />
-		</fileset>
-	</path>
-	
-	<path id="ant.classpath">
-		<pathelement path="${ant.home}/lib/ant" />
-		<pathelement path="${ant.home}/lib/optional.jar" />
-		<pathelement path="${ant.home}/lib/ant.jar" />
-		<pathelement path="${ant.home}/lib/ant-launcher.jar" />
-	</path>
-		
-	<path id="compile.classpath">
-		<pathelement path="lib/log4j-1.2.15.jar" />
-		<pathelement path="lib/client.jar" />
-		<pathelement path="lib/dbunit-2.4.6.jar" />
-		<pathelement path="lib/testng-5.10-jdk15.jar" />
-		<pathelement path="lib/jboss-ejb3-all.jar" />
-		<pathelement path="lib/caveatemptor-jpa.jar" />
-		<pathelement path="lib/ejb3-persistence.jar" />
-		<pathelement path="lib/hibernate-core-3.3.0.GA.jar" />
-		<pathelement path="lib/hibernate-annotations-3.4.0.GA.jar" />
-		<pathelement path="lib/hibernate-commons-annotations-3.1.0.GA.jar" />
-		<pathelement path="lib/hibernate-entitymanager-3.4.0.GA.jar" />
-		<pathelement path="lib/jbossjta-trunk.jar" />
-		<pathelement path="lib/slf4j-api-1.5.8.jar" />
-		<pathelement path="lib/slf4j-log4j12-1.5.8.jar" />
-		<pathelement path="lib/commons-dbutils-1.2.jar" />
-		<pathelement path="lib/commons-io-1.4.jar" />
-		<pathelement path="lib/commons-collections-3.2.1.jar" />
-		<pathelement path="lib/commons-lang-2.5.jar" />
-		<pathelement path="lib/commons-exec-1.0.1.jar" />
-		<pathelement path="lib/thirdparty-all.jar" />
-		<pathelement path="lib/jfreechart-1.0.13.jar" />
-		<pathelement path="lib/jcommon-1.0.16.jar" />
-		<path refid="database.driver" />
-		<path refid="profiler.library" />
-	</path>
+   <path id="ant.classpath">
+      <pathelement path="${ant.home}/lib/ant" />
+      <pathelement path="${ant.home}/lib/optional.jar" />
+      <pathelement path="${ant.home}/lib/ant.jar" />
+      <pathelement path="${ant.home}/lib/ant-launcher.jar" />
+   </path>
+   
+   <path id="groovy.classpath">
+      <pathelement path="lib/groovy-1.7.3.jar" />
+   </path>
+      
+   <import file="src/main/resources/properties/profiler/${profiler}/ant-profiler.xml"/>   
+   <path id="compile.classpath">
+      <pathelement path="lib/log4j-1.2.15.jar" />
+      <pathelement path="lib/client.jar" />
+      <pathelement path="lib/dbunit-2.4.6.jar" />
+      <pathelement path="lib/testng-5.10-jdk15.jar" />
+      <pathelement path="lib/jboss-ejb3-all.jar" />
+      <pathelement path="lib/caveatemptor-jpa.jar" />
+      <pathelement path="lib/ejb3-persistence.jar" />
+      <pathelement path="lib/hibernate-core-3.3.0.GA.jar" />
+      <pathelement path="lib/hibernate-annotations-3.4.0.GA.jar" />
+      <pathelement path="lib/hibernate-commons-annotations-3.1.0.GA.jar" />
+      <pathelement path="lib/hibernate-entitymanager-3.4.0.GA.jar" />
+      <pathelement path="lib/jbossjta-trunk.jar" />
+      <pathelement path="lib/slf4j-api-1.5.8.jar" />
+      <pathelement path="lib/slf4j-log4j12-1.5.8.jar" />
+      <pathelement path="lib/commons-dbutils-1.2.jar" />
+      <pathelement path="lib/commons-io-1.4.jar" />
+      <pathelement path="lib/commons-collections-3.2.1.jar" />
+      <pathelement path="lib/commons-lang-2.5.jar" />
+      <pathelement path="lib/commons-exec-1.0.1.jar" />
+      <pathelement path="lib/thirdparty-all.jar" />
+      <pathelement path="lib/jfreechart-1.0.13.jar" />
+      <pathelement path="lib/jcommon-1.0.16.jar" />
+      <pathelement path="lib/tempus-fugit-1.0.jar" />
+      <path refid="database.driver" />
+      <path refid="profiler.classpath" />
+      <path refid="groovy.classpath" />
+   </path>
 
-	<path id="run.classpath">
-		<path refid="compile.classpath" />
-		<pathelement path="build/classes" />
-	</path>
+   <path id="run.classpath">
+      <path refid="compile.classpath" />
+      <pathelement path="build/classes" />
+   </path>
 
-	<path id="test.classpath">
-		<path refid="run.classpath" />
-		<pathelement path="src/test/resources" />
-	</path>
+   <path id="test.classpath">
+      <path refid="run.classpath" />
+      <pathelement path="src/test/resources" />
+   </path>
 
-	<fileset dir="build/classes" id="configuration.path.1">
-		<include name="*.xml" />
-		<include name="*.properties" />
-		<exclude name="build.template.properties"/>
-	</fileset>
+   <fileset dir="build/classes" id="configuration.path.1">
+      <include name="*.xml" />
+      <include name="*.properties" />
+      <exclude name="build.template.properties"/>
+   </fileset>
 
-	<fileset id="configuration.path.2" dir=".">
-		<include name="*.properties" />
-	   <exclude name="build.properties"/>
-	</fileset>
-	
-	<tstamp>
+   <fileset id="configuration.path.2" dir=".">
+      <include name="*.properties" />
+      <exclude name="build.properties"/>
+   </fileset>
+   
+   <tstamp>
       <format property="time-stamp" pattern="kkmmss"  />
    </tstamp>
-	
-	<taskdef resource="testngtasks" classpathref="test.classpath" />
-	<import file="src/main/resources/properties/profiler/${profiler}/ant-profiler.xml"/>
+   
+   <taskdef resource="testngtasks" classpathref="test.classpath" />
+   <taskdef name="groovy"
+            classname="org.codehaus.groovy.ant.Groovy"
+            classpathref="groovy.classpath"/>
 
-	<target name="check-arguments">
+   <target name="check-arguments">
 
-		<fail message="Usage: ant ${required-args}">
-			<condition>
-				<not>
-					<and>
-						<isset property="transaction.strategy" />
-						<isset property="resource.A.db.installation" />
-						<isset property="resource.A.db.vendor" />
-						<isset property="resource.A.jdbc-datasource" />
-					</and>
-				</not>
-			</condition>
-		</fail>
+      <fail message="Usage: ant ${required-args}">
+         <condition>
+            <not>
+               <and>
+                  <isset property="transaction.strategy" />
+                  <isset property="resource.A.db.installation" />
+                  <isset property="resource.A.db.vendor" />
+                  <isset property="resource.A.jdbc-datasource" />
+               </and>
+            </not>
+         </condition>
+      </fail>
 
-		<fail message="Transaction strategy must be either [native|jta-managed]">
-			<condition>
-				<not>
-					<or>
-						<equals arg1="${transaction.strategy}" arg2="native" />
-						<equals arg1="${transaction.strategy}" arg2="jta-managed" />
-					</or>
-				</not>
-			</condition>
-		</fail>
+      <fail message="Transaction strategy must be either [native|jta-managed]">
+         <condition>
+            <not>
+               <or>
+                  <equals arg1="${transaction.strategy}" arg2="native" />
+                  <equals arg1="${transaction.strategy}" arg2="jta-managed" />
+               </or>
+            </not>
+         </condition>
+      </fail>
 
-		<fail message="Database installation must be either [co-located-db|embedded-db|remote-db]">
-			<condition>
-				<not>
-					<or>
-						<equals arg1="${resource.A.db.installation}" arg2="embedded-db" />
-						<equals arg1="${resource.A.db.installation}" arg2="co-located-db" />
-						<equals arg1="${resource.A.db.installation}" arg2="remote-db" />
-					</or>
-				</not>
-			</condition>
-		</fail>
+      <fail message="Database installation must be either [co-located-db|embedded-db|remote-db]">
+         <condition>
+            <not>
+               <or>
+                  <equals arg1="${resource.A.db.installation}" arg2="embedded-db" />
+                  <equals arg1="${resource.A.db.installation}" arg2="co-located-db" />
+                  <equals arg1="${resource.A.db.installation}" arg2="remote-db" />
+               </or>
+            </not>
+         </condition>
+      </fail>
 
-		<fail message="JDBC datasource configuration must be either [local-tx|xa]">
-			<condition>
-				<not>
-					<or>
-						<equals arg1="${resource.A.jdbc-datasource}" arg2="local-tx" />
-						<equals arg1="${resource.A.jdbc-datasource}" arg2="xa" />
-					</or>
-				</not>
-			</condition>
-		</fail>
+      <fail message="JDBC datasource configuration must be either [local-tx|xa]">
+         <condition>
+            <not>
+               <or>
+                  <equals arg1="${resource.A.jdbc-datasource}" arg2="local-tx" />
+                  <equals arg1="${resource.A.jdbc-datasource}" arg2="xa" />
+               </or>
+            </not>
+         </condition>
+      </fail>
 
-		<!-- Do not check for profiler java library, the profiler might be using agentpath which does not 
-		require a library. -->
+      <!-- Do not check for profiler java library, the profiler might be using agentpath which does not 
+      require a library. -->
 
-	</target>
+   </target>
 
-	<target name="check-setup">
-		<fail message="Database driver library has not been installed.">
-			<condition>
-				<resourcecount refid="database.driver" when="equal" count="0" />
-			</condition>
-		</fail>
-		<fail message="Database properties have not been configured for the installation. [${properties.home}/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}]">
-			<condition>
-				<not>
-					<available file="${properties.home}/database/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}" />
-				</not>
-			</condition>
-		</fail>
-	</target>
+   <target name="check-setup">
+      <fail message="Database driver library has not been installed.">
+         <condition>
+            <resourcecount refid="database.driver" when="equal" count="0" />
+         </condition>
+      </fail>
+      <fail message="Database properties have not been configured for the installation. [${properties.home}/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}]">
+         <condition>
+            <not>
+               <available file="${properties.home}/database/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}" />
+            </not>
+         </condition>
+      </fail>
+   </target>
 
-	<target name="check-xa-support">
-		<fail message="Please us a database which supports XA DataSource configuration.">
-			<condition>
-				<and>
-					<not>
-						<equals arg1="${db.supports.xa}" arg2="true" />
-					</not>
-					<equals arg1="${jdbc-datasource}" arg2="xa" />
-				</and>
-			</condition>
-		</fail>
-	</target>
+   <target name="check-xa-support">
+      <fail message="Please us a database which supports XA DataSource configuration.">
+         <condition>
+            <and>
+               <not>
+                  <equals arg1="${db.supports.xa}" arg2="true" />
+               </not>
+               <equals arg1="${jdbc-datasource}" arg2="xa" />
+            </and>
+         </condition>
+      </fail>
+   </target>
 
-	<target name="second-resource" if="resource.B.db.vendor">
-		<loadproperties srcfile="${properties.home}/jdbc-resource/${resource.B.jdbc-datasource}/connection-management/${connection_handling}.properties"/>
-		
-		<loadproperties srcfile="${properties.home}/jdbc-resource/${resource.B.jdbc-datasource}/datasource.properties">
-	   <filterchain>
+   <target name="second-resource" if="resource.B.db.vendor">
+      <loadproperties srcfile="${properties.home}/jdbc-resource/${resource.B.jdbc-datasource}/connection-management/${connection_handling}.properties"/>
+      
+      <loadproperties srcfile="${properties.home}/jdbc-resource/${resource.B.jdbc-datasource}/datasource.properties">
+      <filterchain>
          <expandproperties />
-	   	<expandproperties />
+         <expandproperties />
       </filterchain>
-	   </loadproperties>
-		<loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/db-profile.properties" />
-		<loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/db-profile.properties" />
-		<loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/database-locations/${resource.B.db.installation}/resourceB/connection.properties">
-			<filterchain>
-				<expandproperties />
-			</filterchain>
-		</loadproperties>
-		<loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/database-locations/${resource.B.db.installation}/resourceB/resource.properties">
-			<filterchain>
-				<expandproperties />
-			</filterchain>
-		</loadproperties>
-	</target>
+      </loadproperties>
+      <loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/db-profile.properties" />
+      <loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/db-profile.properties" />
+      <loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/database-locations/${resource.B.db.installation}/resourceB/connection.properties">
+         <filterchain>
+            <expandproperties />
+         </filterchain>
+      </loadproperties>
+      <loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/database-locations/${resource.B.db.installation}/resourceB/resource.properties">
+         <filterchain>
+            <expandproperties />
+         </filterchain>
+      </loadproperties>
+   </target>
 
-	<target name="prepare" depends="check-arguments, check-setup, second-resource">
-		<delete dir="build" />
-		<delete file="${profile-file}"  />
-		<delete file="${dstat-file}" />
-		<mkdir dir="build" />
-		<mkdir dir="build/classes" />
-		<mkdir dir="build/classes/META-INF" />
+   <target name="prepare" depends="check-arguments, check-setup, second-resource">
+      <delete dir="build" />
+      <delete file="${profile-file}"  />
+      <delete file="${dstat-file}" />
+      <delete dir="${profiler.data.jps.dir}"/>
+      
+      <mkdir dir="build" />
+      <mkdir dir="build/classes" />
+      <mkdir dir="build/classes/META-INF" />
+      <mkdir dir="${profiler.data.jps.dir}" />
 
-		<!-- load properties, specific first then general -->
-		<loadproperties srcfile="${properties.home}/jdbc-resource/${resource.A.jdbc-datasource}/datasource.properties" />
-		<loadproperties srcfile="${properties.home}/database/${resource.A.db.vendor}/db-profile.properties" />
+      <!-- load properties, specific first then general -->
+      <loadproperties srcfile="${properties.home}/jdbc-resource/${resource.A.jdbc-datasource}/datasource.properties" />
+      <loadproperties srcfile="${properties.home}/database/${resource.A.db.vendor}/db-profile.properties" />
 
-		<loadproperties srcfile="${properties.home}/database/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}/resourceA/connection.properties">
-			<filterchain>
-				<expandproperties />
-			</filterchain>
-		</loadproperties>
-		<loadproperties srcfile="${properties.home}/database/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}/resourceA/resource.properties">
-			<filterchain>
-				<expandproperties />
-			</filterchain>
-		</loadproperties>
+      <loadproperties srcfile="${properties.home}/database/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}/resourceA/connection.properties">
+         <filterchain>
+            <expandproperties />
+         </filterchain>
+      </loadproperties>
+      <loadproperties srcfile="${properties.home}/database/${resource.A.db.vendor}/database-locations/${resource.A.db.installation}/resourceA/resource.properties">
+         <filterchain>
+            <expandproperties />
+         </filterchain>
+      </loadproperties>
 
-		<loadproperties srcfile="${properties.home}/database/shared-database.properties" />
-		<copy file="src/main/resources/META-INF/persistence.xml" todir="build/classes/META-INF">
-			<filterchain>
-				<expandproperties />
-			</filterchain>
-		</copy>
+      <loadproperties srcfile="${properties.home}/database/shared-database.properties" />
+      <copy file="src/main/resources/META-INF/persistence.xml" todir="build/classes/META-INF">
+         <filterchain>
+            <expandproperties />
+         </filterchain>
+      </copy>
 
-		<condition property="db-vendor-profiling" value="${db-vendor-profiling.A}">
-			<equals arg1="${db-vendor-profiling.A}" arg2="${db-vendor-profiling.B}" />
-		</condition>
-		<condition property="db-vendor-profiling" value="${db-vendor-profiling.A},${db-vendor-profiling.B}">
-			<not>
-				<equals arg1="${db-vendor-profiling.A}" arg2="${db-vendor-profiling.B}" />
-			</not>
-		</condition>
+      <condition property="db-vendor-profiling" value="${db-vendor-profiling.A}">
+         <equals arg1="${db-vendor-profiling.A}" arg2="${db-vendor-profiling.B}" />
+      </condition>
+      <condition property="db-vendor-profiling" value="${db-vendor-profiling.A},${db-vendor-profiling.B}">
+         <not>
+            <equals arg1="${db-vendor-profiling.A}" arg2="${db-vendor-profiling.B}" />
+         </not>
+      </condition>
 
-		<condition property="profiling-classes" value="${db-vendor-profiling},${profiling.classes.test.framework}">
-			<equals arg1="${profiled}" arg2="y" />
-		</condition>
-		<condition property="profiling-classes" value="dummy">
-			<equals arg1="${profiled}" arg2="n" />
-		</condition>
+      <condition property="profiling-classes" value="${db-vendor-profiling},${profiling.classes.test.framework}">
+         <equals arg1="${profiled}" arg2="y" />
+      </condition>
+      <condition property="profiling-classes" value="dummy">
+         <equals arg1="${profiled}" arg2="n" />
+      </condition>
 
-		<copy file="src/main/resources/properties/profiler/${profiler}/profile.properties" tofile="build/classes/profile.properties">
-			<filterchain>
-				<expandproperties />
-				<expandproperties />
-				<expandproperties />
-			</filterchain>
-		</copy>
-		
-		<xslt in="src/main/resources/META-INF/caveatemptor-beans.xml" out="build/classes/META-INF/caveatemptor-beans-property-ready.xml" style="src/main/resources/xsl/jdbc-datasource/prepare-jdbc-resolving-properties.xsl">
-			<outputproperty name="indent" value="yes" />
-			<param name="resource.A.jdbc" expression="${resource.A.jdbc-datasource}" />
-			<param name="resource.B.jdbc" expression="${resource.B.jdbc-datasource}" />
-		</xslt>
-		<copy file="build/classes/META-INF/caveatemptor-beans-property-ready.xml" tofile="build/classes/META-INF/caveatemptor-beans.xml">
-			<filterchain>
-				<expandproperties />
-				<expandproperties />
-				<expandproperties />
-			</filterchain>
-		</copy>
+      <copy file="src/main/resources/properties/profiler/${profiler}/configuration.properties" tofile="build/classes/profile.properties">
+         <filterchain>
+            <expandproperties />
+            <expandproperties />
+            <expandproperties />
+         </filterchain>
+      </copy>
+      
+      <xslt in="src/main/resources/META-INF/caveatemptor-beans.xml" out="build/classes/META-INF/caveatemptor-beans-property-ready.xml" style="src/main/resources/xsl/jdbc-datasource/prepare-jdbc-resolving-properties.xsl">
+         <outputproperty name="indent" value="yes" />
+         <param name="resource.A.jdbc" expression="${resource.A.jdbc-datasource}" />
+         <param name="resource.B.jdbc" expression="${resource.B.jdbc-datasource}" />
+      </xslt>
+      <copy file="build/classes/META-INF/caveatemptor-beans-property-ready.xml" tofile="build/classes/META-INF/caveatemptor-beans.xml">
+         <filterchain>
+            <expandproperties />
+            <expandproperties />
+            <expandproperties />
+         </filterchain>
+      </copy>
 
-		<copy file="src/main/resources/log4j.xml" todir="build/classes" />
-		<copy file="src/main/resources/arjunajta-properties.xml" todir="build/classes" />
+      <copy file="src/main/resources/log4j.xml" todir="build/classes" />
+      <copy file="src/main/resources/arjunajta-properties.xml" todir="build/classes" />
 
-		<delete dir="${test.output.dir}" />
-		<mkdir dir="${test.output.dir}" />
-			
-		
-		<copy file="src/test/resources/testsuite-integration-ejb3.xml" tofile="build/classes/testsuite-integration.xml">
-			<filterchain>
-				<expandproperties />
-			</filterchain>
-		</copy>
+      <delete dir="${test.output.dir}" />
+      <mkdir dir="${test.output.dir}" />
+         
+      
+      <copy file="src/test/resources/testsuite-integration-ejb3.xml" tofile="build/classes/testsuite-integration.xml">
+         <filterchain>
+            <expandproperties />
+         </filterchain>
+      </copy>
 
-		<copy file="src/main/resources/embedded-jboss-beans.xml" todir="build/classes" />
-		<copy file="src/main/resources/ejb3-interceptors-aop.xml" todir="build/classes" />
-		<copy file="src/main/resources/jndi.properties" todir="build/classes" />
-		<copy file="${properties.home}/transaction-management/${transaction.strategy}/default.persistence.properties" todir="build/classes" />
-		<unzip dest="build/classes" src="lib/caveatemptor-jpa.jar">
-			<patternset>
-				<include name="**/*.class" />
-			</patternset>
-		</unzip>
-		<delete dir="logs/profiled" />
-		<mkdir dir="logs/profiled" />
-		<property name="db-vendor-package.xpath" value="${db-vendor-package.xpath.A},${db-vendor-package.xpath.B}" />
-		<loadproperties srcfile="src/main/resources/properties/categorise/categorise.properties"/>
-		
-		<condition property="ignore-categorise">
+      <copy file="src/main/resources/embedded-jboss-beans.xml" todir="build/classes" />
+      <copy file="src/main/resources/ejb3-interceptors-aop.xml" todir="build/classes" />
+      <copy file="src/main/resources/jndi.properties" todir="build/classes" />
+      <copy file="${properties.home}/transaction-management/${transaction.strategy}/default.persistence.properties" todir="build/classes" />
+      <unzip dest="build/classes" src="lib/caveatemptor-jpa.jar">
+         <patternset>
+            <include name="**/*.class" />
+         </patternset>
+      </unzip>
+      <delete dir="logs/profiled" />
+      <mkdir dir="logs/profiled" />
+      <property name="db-vendor-package.xpath" value="${db-vendor-package.xpath.A},${db-vendor-package.xpath.B}" />
+      <loadproperties srcfile="src/main/resources/properties/categorise/categorise.properties"/>
+      
+      <condition property="ignore-categorise">
          <equals arg1="${profiled}" arg2="n" />
       </condition>
-		
-		<xslt in="src/main/resources/basedata.xml" out="build/classes/basedata.xml" style="src/main/resources/xsl/basedata.xsl">
+      
+      <xslt in="src/main/resources/basedata.xml" out="build/classes/basedata.xml" style="src/main/resources/xsl/basedata.xsl">
          <param name="user-count" expression="${threads}1" />
       </xslt>
-	</target>
+   </target>
 
-	<target name="compile" depends="prepare,check-xa-support">
-		<javac srcdir="src/main/java" destdir="${build.classes.dir}" classpathref="compile.classpath" debug="true" />
-		<javac srcdir="src/test/java" destdir="${build.classes.dir}" classpathref="run.classpath" debug="true" />
-	</target>
+   <target name="compile" depends="prepare,check-xa-support">
+      <javac srcdir="src/main/java" destdir="${build.classes.dir}" classpathref="compile.classpath" debug="true" />
+      <javac srcdir="src/test/java" destdir="${build.classes.dir}" classpathref="run.classpath" debug="true" />
+   </target>
 
-	<target name="profile" depends="compile">
-		<testng outputDir="${test.output.dir}">
-			<jvmarg value="${profiler.agent.argument}" />
-			<jvmarg value="${profiler.vm.arguments}" />
-			<jvmarg value="-Dcom.arjuna.ats.arjuna.common.propertiesFile=build/classes/arjunajta-properties.xml" />
-			<jvmarg value="-Ddstat-file-name=${dstat-file}" />
-			<jvmarg value="-Xms256m" />
-			<jvmarg value="-Xmx1536m" />
-			<jvmarg value="-Xdebug" />
-			<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=${suspend},address=8000" />
-			<classpath>
-				<path refid="test.classpath" />
-			</classpath>
-			<xmlfileset file="build/classes/testsuite-integration.xml" />
-		</testng>
-	</target>
-	
-	<target name="copy-logs" depends="profile">
-		
-		<mkdir dir="${log.output.dir}/tx-type" />
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}" />
-		<property name="installation-location" value="${resource.A.db.installation}-${resource.B.db.installation}"/>
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}" />
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler" />
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}" />
-		<condition property="vendor-count" value="single-vendor">
+   <target name="profile" depends="compile">
+      <testng outputDir="${test.output.dir}">
+         <jvmarg value="${profiler.agent.argument}" />
+         <jvmarg value="${profiler.vm.arguments}" />
+         <jvmarg value="-Dcom.arjuna.ats.arjuna.common.propertiesFile=build/classes/arjunajta-properties.xml" />
+         <jvmarg value="-Ddstat-file-name=${dstat-file}" />
+         <jvmarg value="-Dlog4j.configuration=log4j.xml" />
+         <jvmarg value="-Xms256m" />
+         <jvmarg value="-Xmx1536m" />
+         <jvmarg value="-Xdebug" />
+         <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=${suspend},address=8000" />
+         <classpath>
+            <path refid="test.classpath" />
+         </classpath>
+         <xmlfileset file="build/classes/testsuite-integration.xml" />
+      </testng>
+   </target>
+   
+   <target name="copy-logs" depends="profile">
+      
+      <mkdir dir="${log.output.dir}/tx-type" />
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}" />
+      <property name="installation-location" value="${resource.A.db.installation}-${resource.B.db.installation}"/>
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}" />
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler" />
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}" />
+      <condition property="vendor-count" value="single-vendor">
          <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" />
       </condition>
       <condition property="vendor-count" value="multi-vendor">
@@ -401,8 +408,8 @@
             <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" /> 
          </not>
       </condition>
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}" />
-		<condition property="db-vendor-mix" value="${resource.A.db.vendor}">
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}" />
+      <condition property="db-vendor-mix" value="${resource.A.db.vendor}">
          <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" />
       </condition>
       <condition property="db-vendor-mix" value="${resource.A.db.vendor}-${resource.B.db.vendor}">
@@ -410,10 +417,10 @@
             <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" /> 
          </not>
       </condition>
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}" />
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count" />
-		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}" />
-		
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}" />
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count" />
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}" />
+      
       <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}" />
 
       <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" />
@@ -423,59 +430,60 @@
          <fileset refid="configuration.path.1" />
          <fileset refid="configuration.path.2" />
       </copy>
-		<copy file="src/main/resources/build.template.properties" tofile="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}/conf/build.properties" >
-			<filterchain>
+      <copy file="src/main/resources/build.template.properties" tofile="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}/conf/build.properties" >
+         <filterchain>
             <expandproperties />
-			</filterchain>         
-		</copy>
-		<copy todir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" file="${profile-file}"/>
-		<copy todir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" file="${dstat-file}"/>
-		
+         </filterchain>         
+      </copy>
+      <copy todir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" file="${profile-file}"/>
+      <copy todir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" file="${dstat-file}"/>
+      
       <property name="output.directory" value="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}"/>
-	</target>
-	
-	<target name="htm" depends="copy-logs,process-profiling-data">
-		<java classname="org.jboss.jbossts.chart.ChartDstat">
-		   <classpath>
-		      <path refid="test.classpath" />
+   </target>
+   
+   <target name="htm" depends="copy-logs,process-profiling-data">
+      <java classname="org.jboss.jbossts.chart.ChartDstat" fork="true">
+         <classpath>
+            <path refid="test.classpath" />
          </classpath>
-		   <arg value="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}"/>
+         <jvmarg value="-Dlog4j.configuration=log4j.xml" />
+         <arg value="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}"/>
          <arg value="${dstat-file}"/>
          <arg value="${DSTAMP}-${time-stamp}"/>
       </java>
-	</target>
+   </target>
 
-	<target name="usage">
-		<echo>Usage: ant ${required-args} [${optional-args}]</echo>
-	</target>
+   <target name="usage">
+      <echo>Usage: ant ${required-args} [${optional-args}]</echo>
+   </target>
 
-	<!--
-	Use this task to concatenate the profiling data from several executions of the profiling system.
-	Move the batched runs to a directory outside of the performance project on your system. Then 
-	modify the logs-dir-data property to the directory location.
-	The concatenated file contains all the content from the .csv files which is then ready to 
-	be pasted into the template spreadsheet.
-	 -->
-	<target name="concat-data">
-		<property name="logs-dir-base" value="/home/whitingjr/tsperf/logs/batch-31/20100217-postgresql"/>
-		
-		<concat destfile="${logs-dir-base}/csv-data.csv">
-		   <path>
-		   	<fileset dir="${logs-dir-base}">
-		   	   <include name="**/*.csv"/>
-		   	</fileset>
-		   </path>
-		</concat>
+   <!--
+   Use this task to concatenate the profiling data from several executions of the profiling system.
+   Move the batched runs to a directory outside of the performance project on your system. Then 
+   modify the logs-dir-data property to the directory location.
+   The concatenated file contains all the content from the .csv files which is then ready to 
+   be pasted into the template spreadsheet.
+    -->
+   <target name="concat-data">
+      <property name="logs-dir-base" value="/home/whitingjr/tsperf/logs/batch-31/20100217-postgresql"/>
+      
+      <concat destfile="${logs-dir-base}/csv-data.csv">
+         <path>
+            <fileset dir="${logs-dir-base}">
+               <include name="**/*.csv"/>
+            </fileset>
+         </path>
+      </concat>
 
-	</target>
-	
-	<target name="notify">
-		<loadproperties srcfile="src/main/resources/ack.properties"/>
-		<mail tolist="${ack.to.address}" from="${ack.from.address}" message="Finished processing data." mailhost="${ack.host}" mailport="${ack.port}" subject="Finished"/>
-	</target>
-	
-	<target name="notify-start-profiler">
+   </target>
+   
+   <target name="notify">
       <loadproperties srcfile="src/main/resources/ack.properties"/>
+      <mail tolist="${ack.to.address}" from="${ack.from.address}" message="Finished processing data." mailhost="${ack.host}" mailport="${ack.port}" subject="Finished"/>
+   </target>
+   
+   <target name="notify-start-profiler">
+      <loadproperties srcfile="src/main/resources/ack.properties"/>
       <mail tolist="${ack.to.address}" from="${ack.from.address}" message="Start profiler." mailhost="${ack.host}" mailport="${ack.port}" subject="Finished"/>
    </target>
 

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/pom.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/pom.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/pom.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -110,7 +110,16 @@
          <artifactId>jfreechart</artifactId>
          <version>1.0.13</version>
       </dependency>
-
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jboss-profileservice</artifactId>
+         <version>5.0.0.Beta4</version>
+      </dependency>
+      <dependency>
+         <groupId>com.google.code.tempus-fugit</groupId>
+         <artifactId>tempus-fugit</artifactId>
+         <version>1.0</version> 
+      </dependency>
    </dependencies>
    <build>
       <plugins>

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/AbstractProfiler.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/AbstractProfiler.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/AbstractProfiler.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -158,4 +158,11 @@
    {
       this.startProfiling = startProfiling;
    }
+   
+   @Override
+   public void dumpSnapshot(String snapshotFileName, String snapshotDirectory) throws Exception
+   {
+      
+   }
+   
 }

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -38,10 +38,11 @@
        */
       try
       {
-         List<String > args = new ArrayList<String>();
+         /*List<String > args = new ArrayList<String>();
          args.add("-Djboss-profiler-client.properties=profile.properties");
          args.add("startProfiler");
-         MethodUtils.invokeMethod(getInstance(), "main", args.toArray(new String[]{})); 
+         MethodUtils.invokeMethod(getInstance(), "main", args.toArray(new String[]{}));
+         */ 
       }
       catch (Exception e)
       {
@@ -64,6 +65,12 @@
       // TODO Auto-generated method stub
       return StringUtils.EMPTY;
    }
+   @Override
+   protected String getDumpSnapshotMethodName()
+   {
+      // FIXME getDumpSnapshotMethodName
+      return StringUtils.EMPTY;
+   }
 
    @Override
    protected boolean usesStaticMethods()
@@ -72,6 +79,12 @@
       return false;
    }
    
+   @Override
+   public void dumpSnapshot(String snapshotFileName, String snapshotDirectory) throws Exception
+   {
+      
+   }
+   
    public JBossProfiler()
    {
       super("org.jboss.profiler.client.cmd.Client");

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JProfiler.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JProfiler.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JProfiler.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -97,7 +97,7 @@
    }
    
    @Override
-   public void dumpSnapshot(String fileName) 
+   public void dumpSnapshot(String fileName, String directory) 
       throws Exception
    {
       if (StringUtils.isNotBlank(fileName))

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/NoOpProfiler.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/NoOpProfiler.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/NoOpProfiler.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -85,7 +85,7 @@
       return null;
    }
    @Override
-   public void dumpSnapshot(String snapshotFileName) throws Exception
+   public void dumpSnapshot(String snapshotFileName, String directory) throws Exception
    {
    }
 

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/log4j.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/log4j.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/log4j.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -12,7 +12,7 @@
 		<param name="maxFileSize" value="500KB" />
 		<param name="maxBackupIndex" value="1" />
 
-		<param name="Threshold" value="INFO" />
+		<param name="Threshold" value="ERROR" />
 
 		<layout class="org.apache.log4j.PatternLayout">
 			<!-- The default pattern: Date Priority [Category] Message\n -->
@@ -23,7 +23,7 @@
 	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
 		<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" />
 		<param name="Target" value="System.out" />
-		<param name="Threshold" value="INFO" />
+		<param name="Threshold" value="ERROR" />
 
 		<layout class="org.apache.log4j.PatternLayout">
 			<!-- The default pattern: Date Priority [Category] Message\n -->
@@ -34,7 +34,7 @@
    <appender name="CSV_FILE" class="org.apache.log4j.RollingFileAppender">
       <param name="file" value="profile.csv" />
 
-      <param name="Threshold" value="DEBUG" />
+      <param name="Threshold" value="INFO" />
 
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%m%n" />
@@ -46,7 +46,7 @@
       <appender-ref ref="FILE" />
    </logger>
    <logger name="org.jboss.jbossts.performance">
-      <level value="INFO" />
+      <level value="DEBUG" />
       <appender-ref ref="CONSOLE" />
    </logger>
    <logger name="com.arjuna.ats.arjuna.logging.arjLoggerI18N">
@@ -105,11 +105,23 @@
       <level value="ERROR" />
       <appender-ref ref="CONSOLE" />
    </logger>
-   
    <logger name="org.jboss.jbossts.chart">
       <level value="INFO" />
       <appender-ref ref="CONSOLE" />
    </logger>
+   <logger name="org.jboss.profiler.client">
+      <level value="INFO" />
+      <appender-ref ref="CONSOLE" />
+   </logger>
+   <logger name="org.jboss.remoting">
+      <level value="INFO" />
+      <appender-ref ref="CONSOLE" />
+   </logger>
+   <logger name="org.apache.log4j.helpers">
+      <level value="DEBUG" />
+      <appender-ref ref="CONSOLE" />
+   </logger>
+   
    <logger name="csv.file.logger">
       <level value="DEBUG" />
       <appender-ref ref="CSV_FILE" />

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/ant-profiler.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/ant-profiler.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/ant-profiler.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -12,30 +12,78 @@
  permissions and limitations under the License.
   -->
 
-<project name="JBoss TM: JProfiler Ant Import ">
+<project name="JBoss TM: JProfiler JBossProfiler Import ">
 
-	<path id="jbossprofiler.ant.task.classpath">
-		<fileset dir="${profiler.agent.library.path}/bin">
-			<include name="jpexport" />
-			<include name="ant.jar" />
-		</fileset>
-		<fileset dir="lib/profilerdrivers/${profiler}">
-			<include name="*.jar" />
-		</fileset>
-	</path>
+   <path id="profiler.classpath">
+      <fileset dir="lib/profilerdrivers/${profiler}">
+         <include name="jboss-profiler.jar"/>
+         <include name="jboss-profiler-client.jar"/>
+         <include name="jboss-profiler-connectors.jar"/>
+         <include name="javassist.jar"/>
+      </fileset>
+   </path>
+   
+   <path id="jbossprofiler.ant.task.classpath">
+      <fileset dir="lib/profilerdrivers/${profiler}">
+         <include name="jboss-profiler-ant.jar" />
+      </fileset>
+      <path refid="profiler.classpath"/>
+   </path>
+   
+   <patternset id="jps-pattern">
+      <include name="*.jps"/>
+   </patternset>
+   
+   <path id="initial.path.jps.file">
+      <fileset dir="${profiler.data.jps.dir}">
+         <include name="*.jps" />
+      </fileset>
+   </path>
+      
+   <path id="output.path.jps.file">
+      <fileset dir="${output.directory}">
+         <include name="*.jps" />
+      </fileset>
+   </path>
 
-	<taskdef name="enable" classpathref="jbossprofiler.ant.task.classpath" />
-	<taskdef name="disable" classname="org.jboss.profiler.ant.DisableProfilerTask" />
-	<taskdef name="startprofiler" classname="org.jboss.profiler.ant.StartProfilerTask" />
-	<taskdef name="stopprofiler" classname="org.jboss.profiler.ant.StopProfilerTask" />
-	<taskdef name="clearsnapshots" classname="org.jboss.profiler.ant.ClearSnapshotsTask" />
-	<taskdef name="gc" classname="org.jboss.profiler.ant.GCTask" />
-	<taskdef name="save" classname="org.jboss.profiler.ant.SaveTask" />
-	<taskdef name="add" classname="org.jboss.profiler.ant.AddClassesTask" />
-	<taskdef name="remove" classname="org.jboss.profiler.ant.RemoveClassesTask" />
+   <taskdef name="enable" classname="org.jboss.profiler.ant.EnableProfilerTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="disable" classname="org.jboss.profiler.ant.DisableProfilerTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="startprofiler" classname="org.jboss.profiler.ant.StartProfilerTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="stopprofiler" classname="org.jboss.profiler.ant.StopProfilerTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="clearsnapshots" classname="org.jboss.profiler.ant.ClearSnapshotsTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="gc" classname="org.jboss.profiler.ant.GCTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="save" classname="org.jboss.profiler.ant.SaveTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="add" classname="org.jboss.profiler.ant.AddClassesTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   <taskdef name="remove" classname="org.jboss.profiler.ant.RemoveClassesTask" classpathref="jbossprofiler.ant.task.classpath"/>
+   
+   <taskdef name="regression" classname="org.jboss.profiler.ant.RegressionTask" classpathref="jbossprofiler.ant.task.classpath"/>
 
+   <target name="process-profiling-data">
+      <pathconvert property="profiler.snapshot.filename" refid="initial.path.jps.file" setonempty="false"/>
+      <condition property="snapshot.file.isAvailable">
+         <available file="${profiler.snapshot.filename}"/>
+      </condition>
+      <echo message="status of snapshot availability [${snapshot.file.isAvailable}][${profiler.snapshot.filename}]"></echo>
+      <copy file="src/main/resources/properties/profiler/${profiler}/client.properties" todir="build/classes">
+         <filterchain>
+            <expandproperties />
+         </filterchain>
+      </copy>
+      <antcall target="generate-report" inheritall="true"/>
+   </target>
+   
+   <target name="generate-report" if="snapshot.file.isAvailable">
+      <echo message="[${profiler.snapshot.filename}]"/>
+      <copy todir="${output.directory}" file="${profiler.snapshot.filename}"/>
+      <pathconvert property="output.profiler.snapshot.filename" refid="output.path.jps.file" setonempty="false"/>
+      <echo message="new location [${output.profiler.snapshot.filename}]"/>
+      <java classname="org.jboss.profiler.client.cmd.Client" classpathref="run.classpath" fork="true">
+         <jvmarg value="-Djboss-profiler-client.properties=./build/classes/client.properties" />
+         <jvmarg value="-Dlog4j.configuration=log4j.xml" />
+         <jvmarg value="-Xmx512m" />
+         <arg value="load"/>
+         <arg value="${output.profiler.snapshot.filename}"/>
+      </java>
+   </target>
 
-	<target name="process-profiling-data">
-	</target>
-
 </project>
\ No newline at end of file

Added: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/client.properties
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/client.properties	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/client.properties	2010-08-04 12:17:36 UTC (rev 34504)
@@ -0,0 +1,6 @@
+# configuration properties for the client
+protocol=socket
+host=localhost
+port=5400
+threshold=1.0
+savelocation=${output.directory}

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/configuration.properties
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/configuration.properties	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jbossprofiler/configuration.properties	2010-08-04 12:17:36 UTC (rev 34504)
@@ -1,45 +1,40 @@
 
 # JBoss Profiler configuration properties
-
 profiler.library.name=jboss-profiler.jar
 
 # used in build.xml
-profiler.agent.argument=-javaagent:lib/profilerdrivers/${profiler}/${profiler.library.name}
-# used in build.xml
 profiler.vm.arguments=-Djboss-profiler.properties=build/classes/profile.properties
+profiler.agent.argument=-javaagent:lib/profilerdrivers/${profiler}/${profiler.library.name}
 
 profiler.controller=org.jboss.jbossts.performance.profiler.implementation.JBossProfiler
 
+profiler.data.jps.file=
+profiler.data.jps.dir=/tmp/jbossprofiler
+
+# configuration properties for the client
 protocol=socket
 host=localhost
 port=5400
 threshold=1.0
-savelocation=.
-plugin.1=org.jboss.profiler.plugins.Hibernate
-plugin.2=org.jboss.profiler.plugins.Seam
+savelocation=${profiler.data.jps.dir}
 
-
+# properties needed by the agent
 enable=yes
 precompiled=no
 cpu=yes
-memory=yes
-includes=org.jboss.profiler.*
+memory=no
+includes=org.jboss.jbossts.performance.jdbc.JDBCTask,org.jboss.jbossts.performance.resource.SynchronizeTask,org.jboss.jbossts.performance.jdbc.HibernateNativeTask,org.jboss.jbossts.performance.comparrison.ComparrisonTask
 excludes=*
-visibility=private
+visibility=public
 save=yes
-savelocation=.
 startup=yes
 repository=no
-remote=yes
+remote=no
 store=memory
-location=.
-host=localhost
-port=5400
-ejb=yes
-servlet=yes
-jsf=yes
-jmx=yes
-rmi=yes
-corba=yes
-plugin.1=org.jboss.profiler.plugins.Hibernate
-plugin.2=org.jboss.profiler.plugins.Seam
\ No newline at end of file
+location=${profiler.data.jps.dir}
+ejb=no
+servlet=no
+jsf=no
+jmx=no
+rmi=no
+corba=no

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/ant-profiler.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/ant-profiler.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/ant-profiler.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -14,5 +14,6 @@
 
 <project name="JBoss TM: JProfiler Ant Import ">
 
-   <target name="process-profiling-data"></target>
+   
+
 </project>
\ No newline at end of file

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/configuration.properties
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/configuration.properties	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jip/configuration.properties	2010-08-04 12:17:36 UTC (rev 34504)
@@ -10,4 +10,5 @@
 
 profiler.controller=org.jboss.jbossts.performance.profiler.implementation.JavaInteractiveProfiler
 
-profile.data.file=
\ No newline at end of file
+profiler.data.jps.file=
+profiler.data.jps.dir=/tmp/jip
\ No newline at end of file

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/ant-profiler.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/ant-profiler.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/ant-profiler.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -14,21 +14,24 @@
 
 <project name="JBoss TM: JProfiler Ant Import ">
 
+   <path id="profiler.classpath">
+      <fileset dir="${profiler.agent.library.path}/bin">
+         <include name="jpexport" />
+      </fileset>
+   </path>
+   
    <path id="jprofiler.ant.task.classpath">
       <fileset dir="${profiler.agent.library.path}/bin">
-         <include name="jpexport" />
          <include name="ant.jar" />
       </fileset>
-      <fileset dir="lib/profilerdrivers/${profiler}">
-         <include name="*.jar" />
-      </fileset>
+      <!--path refid="profiler.classpath"/-->   
    </path>
 
    <taskdef name="export" classname="com.jprofiler.ant.ExportTask"
       classpathref="jprofiler.ant.task.classpath"/>
 
    <target name="process-profiling-data">
-      <export snapshotfile="${profile.data.file}">
+      <export snapshotfile="${profiler.data.jps.dir}/${profiler.data.jps.file}">
          <view name="CallTree" file="${output.directory}/calltree.html"/>
          <view name="CallTree" file="${output.directory}/calltree.xml">
             <option name="viewfilters" value="org.jboss.jbossts.performance.jdbc.JDBCTask"/>

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/config.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/config.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/config.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -1,376 +1,378 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<config version="6.0.6">
-   <nextId id="132" />
-   <generalSettings setupHasRun="true" showQuickstart="false"
-      lookAndFeel="1" iconMode="largeWithText" browserCommand="firefox $URL"
-      externalSourceViewerCommand="jedit $FILE" lastExportFormatClass="1"
-      embeddedUseJvmpiFor15="false" embeddedUseInterpreted="false"
-      rememberWindowSizes="true" defaultFilterTemplateId=""
-      defaultProfilingSettingsTemplateId="50" defaultTriggerSetId="">
-      <jvmConfigurations defaultId="">
-      </jvmConfigurations>
-      <integrations>
-         <netbeansConfig installDir="" homeDir="" />
-         <eclipseConfig installDir="" />
-         <wsad5Config installDir="" />
-         <rad6Config installDir="" />
-         <eclipse3Config installDir="/home/whitingjr/eclipse/v3.5-galileo/eclipse" />
-         <jbuilderConfig installDir="" />
-         <idea6Config installDir="" />
-         <idea7Config installDir="" />
-         <idea8Config installDir="" />
-         <idea9Config installDir="" />
-         <jdeveloperConfig installDir="" />
-      </integrations>
-      <messageFlags frozenWarning="true" sessionOpenWarning="true"
-         applyProfilingSettingsQuestion="true" emptyClassPathWarning="true"
-         parsePathWarning="true" vmExitWarning="false" vmCrashWarning="true"
-         recordMemoryWarning="true" configSyncWarning="true" configSyncMessage="true"
-         callTracerWarning="true" recordedObjectsComparisonWarning="true"
-         heapwalkerObjectsComparisonWarning="true" closeSession="false"
-         exitApplication="false" closeSnapshot="true" closeComparisons="true"
-         hideNode="true" hprofComparison="true" dynamicInstrumentationWarning="true"
-         nodesOfInterestMessage="true" />
-      <directoryPresets export="" snapshots="" jws=""
-         settingsExport="" />
-      <exportFormats>
-         <exportFormat name="html">
-            <option name="entireTree" value="false" />
-            <option name="openFile" value="false" />
-         </exportFormat>
-         <exportFormat name="csv" />
-         <exportFormat name="xml">
-            <option name="entireTree" value="false" />
-            <option name="openFile" value="false" />
-         </exportFormat>
-      </exportFormats>
-      <filterTemplates />
-      <triggerSets />
-   </generalSettings>
-   <comparisonSettings>
-      <viewSettings>
-         <telemetry scaleToFit="true" verticalGridlines="3"
-            snapshotSymbol="3" />
-         <objectsComparisonView primaryMeasure="1"
-            sizeScale="1" differenceDisplayType="1" showZeroValues="false" />
-         <allocationHotspots alwaysShowSignature="false"
-            differenceDisplayType="1" showZeroValues="false" scale="1" />
-         <cpuHotspots alwaysShowSignature="false"
-            differenceDisplayType="1" showZeroValues="false" scale="1" />
-         <cpuCalltree showCommonOnly="false" differenceDisplayType="1"
-            showZeroValues="false" showPercentageBar="true" alwaysShowFQN="true"
-            alwaysShowSignature="false" percentageBase="2" scale="1" />
-         <allocationCalltree showCommonOnly="false"
-            differenceDisplayType="1" showZeroValues="false" cumulate="true"
-            showPercentageBar="true" alwaysShowFQN="true" alwaysShowSignature="false"
-            percentageBase="2" scale="1" />
-      </viewSettings>
-      <viewFilters />
-   </comparisonSettings>
-   <templates>
-   </templates>
-   <customTemplates>
-   </customTemplates>
-   <sessions>
-      <session id="130" name="jboss-tsperf-any-vendor" startFrozen="false"
-         recordCPUOnStartup="false" vmCannotExit="false" instrumentationType="1"
-         samplingNoFilters="false" lineNumbers="false" samplingFrequency="5"
-         timeType="1" disableCPUProfiling="false" recordAllocOnStartup="false"
-         enableTriggersOnStartup="false" allocTreeRecordingType="1"
-         disableMonitorContentions="true" componentDetection="false"
-         urlRetainedParameters="" chronoHeap="false" autoUpdatePeriodLong="5"
-         autoUpdatePeriodShort="2" filteredAnnotations="false" allUrls="false"
-         annotationCap="20" showSystemThreads="false" utilConcurrentHandling="true"
-         libraryDebugParameters="" exceptionalCap="5" exceptionalTimeType="4"
-         autoTuneInstrumentation="false" autoTuneMaxAverage="100"
-         autoTuneMinPerMille="10" templateId="" autoUpdateAllocationViews="false"
-         type="2" hidden="false" host="127.0.0.1" port="8849" timeout="20"
-         isExecuteStartCommand="false"
-         startCommand="&quot;/tmp/jboss-5.1.0.GA/bin/run_jprofiler.sh&quot;"
-         isExecuteStopCommand="false" stopCommand="" jvmConfigurationId=""
-         workingDirectory="" isStartupWorkingDirectory="true" openBrowser="false"
-         browserUrl="" vmArguments="" mainClass="" arguments=""
-         consoleBufferSize="1000" nativeConsole="false" consoleSizeWidth="80"
-         consoleSizeHeight="25" configSyncMode="1" configSyncCopyTarget=""
-         configSyncCommand="" appletURL="" jnlpURL="" jwsDir="">
-         <annotations>
-            <annotation type="1" enabled="false" />
-            <annotation type="2" enabled="false" />
-            <annotation type="3" enabled="false" />
-            <annotation type="4" enabled="true" />
-            <annotation type="5" enabled="false" />
-         </annotations>
-         <filters>
-            <!--
-               group type="exclusive" name="Default excludes"> <filter
-               type="exclusive" name="$Proxy" /> <filter type="exclusive"
-               name="$java." /> <filter type="exclusive" name="$javax." />
-               <filter type="exclusive" name="AOPContainerProxy$" /> <filter
-               type="exclusive" name="COM.cloudscape." /> <filter
-               type="exclusive" name="COM.objectspace." /> <filter
-               type="exclusive" name="COM.rsa." /> <filter type="exclusive"
-               name="EDU.oswego." /> <filter type="exclusive" name="GregorSamsa"
-               /> <filter type="exclusive" name="__" /> <filter type="exclusive"
-               name="allaire.jrun" /> <filter type="exclusive" name="antlr." />
-               <filter type="exclusive" name="apple." /> <filter
-               type="exclusive" name="atg" /> <filter type="exclusive"
-               name="bea." /> <filter type="exclusive" name="bsh" /> <filter
-               type="exclusive" name="c8" /> <filter type="exclusive"
-               name="coldfusion." /> <filter type="exclusive"
-               name="com.acumenat." /> <filter type="exclusive"
-               name="com.adobe." /> <filter type="exclusive"
-               name="com.adventnet." /> <filter type="exclusive"
-               name="com.apple." /> <filter type="exclusive" name="com.asn1c."
-               /> <filter type="exclusive" name="com.bea" /> <filter
-               type="exclusive" name="com.caucho" /> <filter type="exclusive"
-               name="com.certicom." /> <filter type="exclusive"
-               name="com.ctc.wstx." /> <filter type="exclusive" name="com.ebay."
-               /> <filter type="exclusive" name="com.evermind" /> <filter
-               type="exclusive" name="com.gp." /> <filter type="exclusive"
-               name="com.ibm." /> <filter type="exclusive" name="com.incors." />
-               <filter type="exclusive" name="com.informix" /> <filter
-               type="exclusive" name="com.intellij.rt." /> <filter
-               type="exclusive" name="com.inzoom." /> <filter type="exclusive"
-               name="com.iplanet." /> <filter type="exclusive"
-               name="com.jnbridge." /> <filter type="exclusive"
-               name="com.jprofiler.agent." /> <filter type="exclusive"
-               name="com.linar." /> <filter type="exclusive"
-               name="com.livesoftware." /> <filter type="exclusive"
-               name="com.lowagie." /> <filter type="exclusive" name="com.mysql."
-               /> <filter type="exclusive" name="com.netscape.server.http" />
-               <filter type="exclusive" name="com.octetstring." /> <filter
-               type="exclusive" name="com.opensymphony." /> <filter
-               type="exclusive" name="com.orionserver" /> <filter
-               type="exclusive" name="com.phaos." /> <filter type="exclusive"
-               name="com.pointbase." /> <filter type="exclusive"
-               name="com.pramati" /> <filter type="exclusive" name="com.rsa." />
-               <filter type="exclusive" name="com.saxon." /> <filter
-               type="exclusive" name="com.solarmetric." /> <filter
-               type="exclusive" name="com.sssw" /> <filter type="exclusive"
-               name="com.sun." /> <filter type="exclusive" name="com.swiftmq."
-               /> <filter type="exclusive" name="com.sybase" /> <filter
-               type="exclusive" name="com.tivoli." /> <filter type="exclusive"
-               name="com.unify" /> <filter type="exclusive"
-               name="compressionFilters." /> <filter type="exclusive"
-               name="edu.emory.mathcs.backport." /> <filter type="exclusive"
-               name="filters." /> <filter type="exclusive" name="flashgateway."
-               /> <filter type="exclusive" name="flex." /> <filter
-               type="exclusive" name="fr.dyade" /> <filter type="exclusive"
-               name="gnu." /> <filter type="exclusive" name="groovy." /> <filter
-               type="exclusive" name="interceptors." /> <filter type="exclusive"
-               name="java." /> <filter type="exclusive" name="javassist." />
-               <filter type="exclusive" name="javax." /> <filter
-               type="exclusive" name="javelin." /> <filter type="exclusive"
-               name="javelinx." /> <filter type="exclusive" name="jrockit." />
-               <filter type="exclusive" name="jrun." /> <filter type="exclusive"
-               name="jrun__" /> <filter type="exclusive" name="jrunx." />
-               <filter type="exclusive" name="jsp_servlet." /> <filter
-               type="exclusive" name="junit." /> <filter type="exclusive"
-               name="kodo." /> <filter type="exclusive" name="listeners." />
-               <filter type="exclusive" name="macromedia." /> <filter
-               type="exclusive" name="mx4j." /> <filter type="exclusive"
-               name="net.sf.cglib." /> <filter type="exclusive"
-               name="net.sf.ehcache." /> <filter type="exclusive"
-               name="netscape." /> <filter type="exclusive"
-               name="newatlanta.servletexec" /> <filter type="exclusive"
-               name="oasis.names." /> <filter type="exclusive" name="oracle." />
-               <filter type="exclusive" name="org.apache." /> <filter
-               type="exclusive" name="org.apache.felix." /> <filter
-               type="exclusive" name="org.bouncycastle" /> <filter
-               type="exclusive" name="org.codehaus.gant." /> <filter
-               type="exclusive" name="org.codehaus.groovy." /> <filter
-               type="exclusive" name="org.codehaus.stax2." /> <filter
-               type="exclusive" name="org.codehaus.swizzle." /> <filter
-               type="exclusive" name="org.dom4j." /> <filter type="exclusive"
-               name="org.eclipse." /> <filter type="exclusive"
-               name="org.enhydra" /> <filter type="exclusive"
-               name="org.glassfish." /> <filter type="exclusive"
-               name="org.hibernate." /> <filter type="exclusive" name="org.hsql"
-               /> <filter type="exclusive" name="org.ietf." /> <filter
-               type="exclusive" name="org.jcp.xml" /> <filter type="exclusive"
-               name="org.jdom." /> <filter type="exclusive" name="org.jnp." />
-               <filter type="exclusive" name="org.jpedal." /> <filter
-               type="exclusive" name="org.jvnet." /> <filter type="exclusive"
-               name="org.mortbay." /> <filter type="exclusive"
-               name="org.mozilla." /> <filter type="exclusive"
-               name="org.netbeans." /> <filter type="exclusive"
-               name="org.objectweb." /> <filter type="exclusive" name="org.omg."
-               /> <filter type="exclusive" name="org.openide." /> <filter
-               type="exclusive" name="org.osgi." /> <filter type="exclusive"
-               name="org.quartz." /> <filter type="exclusive" name="org.slf4j."
-               /> <filter type="exclusive" name="org.springframework." />
-               <filter type="exclusive" name="org.tranql." /> <filter
-               type="exclusive" name="org.w3c." /> <filter type="exclusive"
-               name="org.xml." /> <filter type="exclusive" name="schema.system"
-               /> <filter type="exclusive" name="schemacom_bea" /> <filter
-               type="exclusive" name="schemaorg_apache_xmlbeans.system." />
-               <filter type="exclusive" name="serp." /> <filter type="exclusive"
-               name="solid." /> <filter type="exclusive" name="ssa." /> <filter
-               type="exclusive" name="sun." /> <filter type="exclusive"
-               name="sunw." /> <filter type="exclusive" name="weblogic." />
-               <filter type="exclusive" name="workshop." /> </group
-            -->
-            <filter type="inclusive" name="org.jboss.jbossts.performance.jdbc.JDBCTask" />
-            <filter type="inclusive"
-               name="org.jboss.jbossts.performance.resource.SynchronizeTask" />
-            <filter type="inclusive"
-               name="org.jboss.jbossts.performance.jdbc.HibernateNativeTask" />
-
-            <!--
-               filter type="exclusive" name="auction.test." /> <filter
-               type="exclusive" name="com.arjuna." /> <filter type="exclusive"
-               name="com.thoughtworks." /> <filter type="exclusive"
-               name="java.lang." /> <filter type="exclusive"
-               name="java.lang.reflect." /> <filter type="exclusive"
-               name="java.lang.Thread" /> <filter type="exclusive"
-               name="java.lang.Long" /> <filter type="exclusive"
-               name="java.lang.System" /> <filter type="exclusive"
-               name="java.sql." /> <filter type="exclusive"
-               name="java.sql.Connection" /> <filter type="exclusive"
-               name="java.sql.ResultSet" /> <filter type="exclusive"
-               name="java.sql.PreparedStatement" /> <filter type="exclusive"
-               name="javax.sql." /> <filter type="exclusive"
-               name="javax.sql.DataSource" /> <filter type="exclusive"
-               name="org.apache.commons.dbutils." /> <filter type="exclusive"
-               name="org.apache.commons.exec.DefaultExecutor" /> <filter
-               type="exclusive" name="org.apache.log4j." /> <filter
-               type="exclusive" name="org.apache.log4j.Logger" /> <filter
-               type="exclusive" name="org.apache.log4j.NDC" /> <filter
-               type="exclusive" name="org.jboss.ejb3." /> <filter
-               type="exclusive"
-               name="org.jboss.jbossts.performance.configuration." /> <filter
-               type="exclusive"
-               name="org.jboss.jbossts.performance.configuration.JPAConfiguration"
-               /> <filter type="exclusive"
-               name="org.jboss.jbossts.performance.configuration.MultithreadedTestConfiguration"
-               /> <filter type="exclusive"
-               name="org.jboss.jbossts.performance.TransactionXADataSourceFactory"
-               /> <filter type="exclusive"
-               name="org.jboss.jbossts.performance.profiler.implementation.JProfiler"
-               /> <filter type="exclusive"
-               name="org.jboss.jbossts.performance.task.pooling." /> <filter
-               type="exclusive"
-               name="org.jboss.jbossts.performance.profiler.AbstractProfiler."
-               /> <filter type="exclusive"
-               name="org.jboss.jbossts.performance.MultiThreadedTest" /> <filter
-               type="exclusive"
-               name="org.jboss.jbossts.performance.task.RecursiveTask" />
-               <filter type="exclusive"
-               name="org.jboss.jbossts.performance.WarmedUpTest" /> <filter
-               type="exclusive" name="org.jboss.logging." /> <filter
-               type="exclusive" name="org.jboss.naming." /> <filter
-               type="exclusive" name="org.jboss.resource." /> <filter
-               type="exclusive" name="org.jboss.resource.connectionmanager." />
-               <filter type="exclusive" name="org.jboss.system." /> <filter
-               type="exclusive" name="org.jboss.tm." /> <filter type="exclusive"
-               name="org.jboss.util." /> <filter type="exclusive"
-               name="org.testng." /> <filter type="exclusive"
-               name="org.testng.TestNG" /> <filter type="exclusive"
-               name="org.testng.Assert" /
-            -->
-         </filters>
-         <exceptionalMethods />
-         <ignoredMethods />
-         <triggers logTarget="stdout" logFile="">
-            <methodInvocation enabled="true" groupId=""
-               useGroupId="false" descriptionType="automatic" manualDescription=""
-               ignoreRecursiveCalls="false">
-               <actions>
-                  <startRecording>
-                     <cpu enabled="false" resetData="false" />
-                     <allocation enabled="false" resetData="false" />
-                     <thread enabled="false" />
-                     <telemetry enabled="false" />
-                     <methodStats enabled="true" />
-                  </startRecording>
-               </actions>
-               <methods>
-                  <method className="org.jboss.jbossts.performance.jdbc.JDBCTask"
-                     methodName="task" signature="(I)V" />
-               </methods>
-            </methodInvocation>
-         </triggers>
-         <viewSettings>
-            <invocationView showTime="true" showInherentTime="false"
-               showInvocationCount="true" showAverage="false"
-               isUsePercentageThreshold="false" percentageThreshold="0.01"
-               showPercentageBar="true" alwaysShowFQN="true"
-               alwaysShowSignature="false" percentageBase="2" scale="1" />
-            <hotspotsView showTime="true" showInherentTime="false"
-               showInvocationCount="true" showAverage="false"
-               isUsePercentageThreshold="false" percentageThreshold="0.01"
-               showPercentageBar="true" alwaysShowFQN="true"
-               alwaysShowSignature="false" percentageBase="2" scale="1" />
-            <callTracer percentageThreshold="100000" recordFiltered="false"
-               timeDisplay="relativeToFirstTrace" showSignature="true"
-               showClassNamesForMethods="false" />
-            <methodDistribution timeGridlines="3" scaleToFit="true"
-               verticalGridlines="3" logarithmicValues="true" />
-            <threadsHistoryView timeGridlines="3" bookmarks="3"
-               scaleToFit="false" background="2" monitorToolTips="true" />
-            <monitorHistory blockingThreshold="1000"
-               waitingThreshold="100000" />
-            <monitorHistoryTelemetry timeGridlines="3"
-               bookmarks="3" scaleToFit="false" />
-            <threadsMonitorView showRunnable="true"
-               showWaitingOnCondition="true" showWaitingOnMonitor="true"
-               showNetIo="true" showDead="false" />
-            <methodGraph colorInformation="1" colorScaleBase="1"
-               showSignature="false" usePercentageThreshold="false"
-               percentageThreshold="0.01" showAverageTimes="false" />
-            <classMonitorView primaryMeasure="1" sizeScale="1"
-               diffColumnOrder="2" differenceDisplayType="1" />
-            <allocationsMonitor cumulate="true"
-               showPercentageBar="true" alwaysShowFQN="true"
-               alwaysShowSignature="false" percentageBase="2" scale="1" />
-            <allocationHotspots diffColumnOrder="2"
-               differenceDisplayType="1" showPercentageBar="true" alwaysShowFQN="true"
-               alwaysShowSignature="false" percentageBase="2" scale="1" />
-            <heapWalkerView showViewHelperDialog="true"
-               showSelectionSteps="false" />
-            <heapWalkerClassesView primaryMeasure="1"
-               sizeScale="1" />
-            <heapWalkerAllocationsView cumulate="true"
-               showPercentageBar="true" alwaysShowFQN="true"
-               alwaysShowSignature="false" percentageBase="2" scale="1" />
-            <heapWalkerBiggestObjectsView
-               sizeScale="1" showObjectIds="false" showRetainedSizeBar="true"
-               percentageBase="topLevel" />
-            <heapWalkerReferencesView primaryMeasure="1"
-               sizeScale="1" showObjectIds="false" showObjectIdsInTree="true"
-               showDeclaringClassesInTree="true" />
-            <heapWalkerChronoView timeGridlines="3"
-               bookmarks="3" scaleToFit="false" verticalGridlines="3" />
-            <classTracker timeGridlines="3" bookmarks="3"
-               scaleToFit="false" verticalGridlines="3" objectScopeSelection="all"
-               livenessTypeSelection="Live objects">
-               <selections />
-            </classTracker>
-            <objectStatistics timeGridlines="3" bookmarks="3"
-               scaleToFit="false" verticalGridlines="3" graphType="1" />
-            <classStatistics timeGridlines="3" bookmarks="3"
-               scaleToFit="false" verticalGridlines="3" graphType="1" />
-            <recordedThroughput timeGridlines="3" bookmarks="3"
-               scaleToFit="false" verticalGridlines="3" />
-            <heapStatistics timeGridlines="3" bookmarks="3"
-               scaleToFit="false" verticalGridlines="3" graphType="1" />
-            <threadsStatistics timeGridlines="3" bookmarks="3"
-               scaleToFit="false" verticalGridlines="3" graphType="1" />
-            <gcActivity timeGridlines="3" bookmarks="3" scaleToFit="false"
-               verticalGridlines="3" graphType="1" />
-            <cpuLoad timeGridlines="3" bookmarks="3" scaleToFit="false"
-               verticalGridlines="3" graphType="1" />
-         </viewSettings>
-         <viewFilters>
-            <entry type="0" name="returnConnection" />
-         </viewFilters>
-         <threadFilters />
-         <classPath />
-         <sourcePath />
-         <libraryPath />
-      </session>
-   </sessions>
-   <mementos>
-   </mementos>
-</config>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<config version="6.0.6">
+   <nextId id="132" />
+   <generalSettings setupHasRun="true" showQuickstart="false"
+      lookAndFeel="1" iconMode="largeWithText" browserCommand="firefox $URL"
+      externalSourceViewerCommand="jedit $FILE" lastExportFormatClass="1"
+      embeddedUseJvmpiFor15="false" embeddedUseInterpreted="false"
+      rememberWindowSizes="true" defaultFilterTemplateId=""
+      defaultProfilingSettingsTemplateId="50" defaultTriggerSetId="">
+      <jvmConfigurations defaultId="">
+      </jvmConfigurations>
+      <integrations>
+         <netbeansConfig installDir="" homeDir="" />
+         <eclipseConfig installDir="" />
+         <wsad5Config installDir="" />
+         <rad6Config installDir="" />
+         <eclipse3Config installDir="/home/whitingjr/eclipse/v3.5-galileo/eclipse" />
+         <jbuilderConfig installDir="" />
+         <idea6Config installDir="" />
+         <idea7Config installDir="" />
+         <idea8Config installDir="" />
+         <idea9Config installDir="" />
+         <jdeveloperConfig installDir="" />
+      </integrations>
+      <messageFlags frozenWarning="true" sessionOpenWarning="true"
+         applyProfilingSettingsQuestion="true" emptyClassPathWarning="true"
+         parsePathWarning="true" vmExitWarning="false" vmCrashWarning="true"
+         recordMemoryWarning="true" configSyncWarning="true" configSyncMessage="true"
+         callTracerWarning="true" recordedObjectsComparisonWarning="true"
+         heapwalkerObjectsComparisonWarning="true" closeSession="false"
+         exitApplication="false" closeSnapshot="true" closeComparisons="true"
+         hideNode="true" hprofComparison="true" dynamicInstrumentationWarning="true"
+         nodesOfInterestMessage="true" />
+      <directoryPresets export="" snapshots="" jws=""
+         settingsExport="" />
+      <exportFormats>
+         <exportFormat name="html">
+            <option name="entireTree" value="false" />
+            <option name="openFile" value="false" />
+         </exportFormat>
+         <exportFormat name="csv" />
+         <exportFormat name="xml">
+            <option name="entireTree" value="false" />
+            <option name="openFile" value="false" />
+         </exportFormat>
+      </exportFormats>
+      <filterTemplates />
+      <triggerSets />
+   </generalSettings>
+   <comparisonSettings>
+      <viewSettings>
+         <telemetry scaleToFit="true" verticalGridlines="3"
+            snapshotSymbol="3" />
+         <objectsComparisonView primaryMeasure="1"
+            sizeScale="1" differenceDisplayType="1" showZeroValues="false" />
+         <allocationHotspots alwaysShowSignature="false"
+            differenceDisplayType="1" showZeroValues="false" scale="1" />
+         <cpuHotspots alwaysShowSignature="false"
+            differenceDisplayType="1" showZeroValues="false" scale="1" />
+         <cpuCalltree showCommonOnly="false" differenceDisplayType="1"
+            showZeroValues="false" showPercentageBar="true" alwaysShowFQN="true"
+            alwaysShowSignature="false" percentageBase="2" scale="1" />
+         <allocationCalltree showCommonOnly="false"
+            differenceDisplayType="1" showZeroValues="false" cumulate="true"
+            showPercentageBar="true" alwaysShowFQN="true" alwaysShowSignature="false"
+            percentageBase="2" scale="1" />
+      </viewSettings>
+      <viewFilters />
+   </comparisonSettings>
+   <templates>
+   </templates>
+   <customTemplates>
+   </customTemplates>
+   <sessions>
+      <session id="130" name="jboss-tsperf-any-vendor" startFrozen="false"
+         recordCPUOnStartup="false" vmCannotExit="false" instrumentationType="1"
+         samplingNoFilters="false" lineNumbers="false" samplingFrequency="5"
+         timeType="1" disableCPUProfiling="false" recordAllocOnStartup="false"
+         enableTriggersOnStartup="false" allocTreeRecordingType="1"
+         disableMonitorContentions="true" componentDetection="false"
+         urlRetainedParameters="" chronoHeap="false" autoUpdatePeriodLong="5"
+         autoUpdatePeriodShort="2" filteredAnnotations="false" allUrls="false"
+         annotationCap="20" showSystemThreads="false" utilConcurrentHandling="true"
+         libraryDebugParameters="" exceptionalCap="5" exceptionalTimeType="4"
+         autoTuneInstrumentation="false" autoTuneMaxAverage="100"
+         autoTuneMinPerMille="10" templateId="" autoUpdateAllocationViews="false"
+         type="2" hidden="false" host="127.0.0.1" port="8849" timeout="20"
+         isExecuteStartCommand="false"
+         startCommand="&quot;/tmp/jboss-5.1.0.GA/bin/run_jprofiler.sh&quot;"
+         isExecuteStopCommand="false" stopCommand="" jvmConfigurationId=""
+         workingDirectory="" isStartupWorkingDirectory="true" openBrowser="false"
+         browserUrl="" vmArguments="" mainClass="" arguments=""
+         consoleBufferSize="1000" nativeConsole="false" consoleSizeWidth="80"
+         consoleSizeHeight="25" configSyncMode="1" configSyncCopyTarget=""
+         configSyncCommand="" appletURL="" jnlpURL="" jwsDir="">
+         <annotations>
+            <annotation type="1" enabled="false" />
+            <annotation type="2" enabled="false" />
+            <annotation type="3" enabled="false" />
+            <annotation type="4" enabled="true" />
+            <annotation type="5" enabled="false" />
+         </annotations>
+         <filters>
+            <!--
+               group type="exclusive" name="Default excludes"> <filter
+               type="exclusive" name="$Proxy" /> <filter type="exclusive"
+               name="$java." /> <filter type="exclusive" name="$javax." />
+               <filter type="exclusive" name="AOPContainerProxy$" /> <filter
+               type="exclusive" name="COM.cloudscape." /> <filter
+               type="exclusive" name="COM.objectspace." /> <filter
+               type="exclusive" name="COM.rsa." /> <filter type="exclusive"
+               name="EDU.oswego." /> <filter type="exclusive" name="GregorSamsa"
+               /> <filter type="exclusive" name="__" /> <filter type="exclusive"
+               name="allaire.jrun" /> <filter type="exclusive" name="antlr." />
+               <filter type="exclusive" name="apple." /> <filter
+               type="exclusive" name="atg" /> <filter type="exclusive"
+               name="bea." /> <filter type="exclusive" name="bsh" /> <filter
+               type="exclusive" name="c8" /> <filter type="exclusive"
+               name="coldfusion." /> <filter type="exclusive"
+               name="com.acumenat." /> <filter type="exclusive"
+               name="com.adobe." /> <filter type="exclusive"
+               name="com.adventnet." /> <filter type="exclusive"
+               name="com.apple." /> <filter type="exclusive" name="com.asn1c."
+               /> <filter type="exclusive" name="com.bea" /> <filter
+               type="exclusive" name="com.caucho" /> <filter type="exclusive"
+               name="com.certicom." /> <filter type="exclusive"
+               name="com.ctc.wstx." /> <filter type="exclusive" name="com.ebay."
+               /> <filter type="exclusive" name="com.evermind" /> <filter
+               type="exclusive" name="com.gp." /> <filter type="exclusive"
+               name="com.ibm." /> <filter type="exclusive" name="com.incors." />
+               <filter type="exclusive" name="com.informix" /> <filter
+               type="exclusive" name="com.intellij.rt." /> <filter
+               type="exclusive" name="com.inzoom." /> <filter type="exclusive"
+               name="com.iplanet." /> <filter type="exclusive"
+               name="com.jnbridge." /> <filter type="exclusive"
+               name="com.jprofiler.agent." /> <filter type="exclusive"
+               name="com.linar." /> <filter type="exclusive"
+               name="com.livesoftware." /> <filter type="exclusive"
+               name="com.lowagie." /> <filter type="exclusive" name="com.mysql."
+               /> <filter type="exclusive" name="com.netscape.server.http" />
+               <filter type="exclusive" name="com.octetstring." /> <filter
+               type="exclusive" name="com.opensymphony." /> <filter
+               type="exclusive" name="com.orionserver" /> <filter
+               type="exclusive" name="com.phaos." /> <filter type="exclusive"
+               name="com.pointbase." /> <filter type="exclusive"
+               name="com.pramati" /> <filter type="exclusive" name="com.rsa." />
+               <filter type="exclusive" name="com.saxon." /> <filter
+               type="exclusive" name="com.solarmetric." /> <filter
+               type="exclusive" name="com.sssw" /> <filter type="exclusive"
+               name="com.sun." /> <filter type="exclusive" name="com.swiftmq."
+               /> <filter type="exclusive" name="com.sybase" /> <filter
+               type="exclusive" name="com.tivoli." /> <filter type="exclusive"
+               name="com.unify" /> <filter type="exclusive"
+               name="compressionFilters." /> <filter type="exclusive"
+               name="edu.emory.mathcs.backport." /> <filter type="exclusive"
+               name="filters." /> <filter type="exclusive" name="flashgateway."
+               /> <filter type="exclusive" name="flex." /> <filter
+               type="exclusive" name="fr.dyade" /> <filter type="exclusive"
+               name="gnu." /> <filter type="exclusive" name="groovy." /> <filter
+               type="exclusive" name="interceptors." /> <filter type="exclusive"
+               name="java." /> <filter type="exclusive" name="javassist." />
+               <filter type="exclusive" name="javax." /> <filter
+               type="exclusive" name="javelin." /> <filter type="exclusive"
+               name="javelinx." /> <filter type="exclusive" name="jrockit." />
+               <filter type="exclusive" name="jrun." /> <filter type="exclusive"
+               name="jrun__" /> <filter type="exclusive" name="jrunx." />
+               <filter type="exclusive" name="jsp_servlet." /> <filter
+               type="exclusive" name="junit." /> <filter type="exclusive"
+               name="kodo." /> <filter type="exclusive" name="listeners." />
+               <filter type="exclusive" name="macromedia." /> <filter
+               type="exclusive" name="mx4j." /> <filter type="exclusive"
+               name="net.sf.cglib." /> <filter type="exclusive"
+               name="net.sf.ehcache." /> <filter type="exclusive"
+               name="netscape." /> <filter type="exclusive"
+               name="newatlanta.servletexec" /> <filter type="exclusive"
+               name="oasis.names." /> <filter type="exclusive" name="oracle." />
+               <filter type="exclusive" name="org.apache." /> <filter
+               type="exclusive" name="org.apache.felix." /> <filter
+               type="exclusive" name="org.bouncycastle" /> <filter
+               type="exclusive" name="org.codehaus.gant." /> <filter
+               type="exclusive" name="org.codehaus.groovy." /> <filter
+               type="exclusive" name="org.codehaus.stax2." /> <filter
+               type="exclusive" name="org.codehaus.swizzle." /> <filter
+               type="exclusive" name="org.dom4j." /> <filter type="exclusive"
+               name="org.eclipse." /> <filter type="exclusive"
+               name="org.enhydra" /> <filter type="exclusive"
+               name="org.glassfish." /> <filter type="exclusive"
+               name="org.hibernate." /> <filter type="exclusive" name="org.hsql"
+               /> <filter type="exclusive" name="org.ietf." /> <filter
+               type="exclusive" name="org.jcp.xml" /> <filter type="exclusive"
+               name="org.jdom." /> <filter type="exclusive" name="org.jnp." />
+               <filter type="exclusive" name="org.jpedal." /> <filter
+               type="exclusive" name="org.jvnet." /> <filter type="exclusive"
+               name="org.mortbay." /> <filter type="exclusive"
+               name="org.mozilla." /> <filter type="exclusive"
+               name="org.netbeans." /> <filter type="exclusive"
+               name="org.objectweb." /> <filter type="exclusive" name="org.omg."
+               /> <filter type="exclusive" name="org.openide." /> <filter
+               type="exclusive" name="org.osgi." /> <filter type="exclusive"
+               name="org.quartz." /> <filter type="exclusive" name="org.slf4j."
+               /> <filter type="exclusive" name="org.springframework." />
+               <filter type="exclusive" name="org.tranql." /> <filter
+               type="exclusive" name="org.w3c." /> <filter type="exclusive"
+               name="org.xml." /> <filter type="exclusive" name="schema.system"
+               /> <filter type="exclusive" name="schemacom_bea" /> <filter
+               type="exclusive" name="schemaorg_apache_xmlbeans.system." />
+               <filter type="exclusive" name="serp." /> <filter type="exclusive"
+               name="solid." /> <filter type="exclusive" name="ssa." /> <filter
+               type="exclusive" name="sun." /> <filter type="exclusive"
+               name="sunw." /> <filter type="exclusive" name="weblogic." />
+               <filter type="exclusive" name="workshop." /> </group
+            -->
+            <filter type="inclusive" name="org.jboss.jbossts.performance.resource.SynchronizeTask" />
+            
+            <filter type="inclusive" name="org.jboss.jbossts.performance.jdbc.JDBCTask" />
+            
+            <filter type="inclusive"
+               name="org.jboss.jbossts.performance.jdbc.HibernateNativeTask" />
+            <filter type="inclusive"
+               name="org.jboss.jbossts.performance.comparrison.ComparrisonTask" />
+               
+            <!-- filter type="exclusive" name="auction.test." /> <filter
+               type="exclusive" name="com.arjuna." /> <filter type="exclusive"
+               name="com.thoughtworks." /> <filter type="exclusive"
+               name="java.lang." /> <filter type="exclusive"
+               name="java.lang.reflect." /> <filter type="exclusive"
+               name="java.lang.Thread" /> <filter type="exclusive"
+               name="java.lang.Long" /> <filter type="exclusive"
+               name="java.lang.System" /> <filter type="exclusive"
+               name="java.sql." /> <filter type="exclusive"
+               name="java.sql.Connection" /> <filter type="exclusive"
+               name="java.sql.ResultSet" /> <filter type="exclusive"
+               name="java.sql.PreparedStatement" /> <filter type="exclusive"
+               name="javax.sql." /> <filter type="exclusive"
+               name="javax.sql.DataSource" /> <filter type="exclusive"
+               name="org.apache.commons.dbutils." /> <filter type="exclusive"
+               name="org.apache.commons.exec.DefaultExecutor" /> <filter
+               type="exclusive" name="org.apache.log4j." /> <filter
+               type="exclusive" name="org.apache.log4j.Logger" /> <filter
+               type="exclusive" name="org.apache.log4j.NDC" /> <filter
+               type="exclusive" name="org.jboss.ejb3." /> <filter
+               type="exclusive"
+               name="org.jboss.jbossts.performance.configuration." /> <filter
+               type="exclusive"
+               name="org.jboss.jbossts.performance.configuration.JPAConfiguration"
+               /> <filter type="exclusive"
+               name="org.jboss.jbossts.performance.configuration.MultithreadedTestConfiguration"
+               /> <filter type="exclusive"
+               name="org.jboss.jbossts.performance.TransactionXADataSourceFactory"
+               /> <filter type="exclusive"
+               name="org.jboss.jbossts.performance.profiler.implementation.JProfiler"
+               /> <filter type="exclusive"
+               name="org.jboss.jbossts.performance.task.pooling." /> <filter
+               type="exclusive"
+               name="org.jboss.jbossts.performance.profiler.AbstractProfiler."
+               /> <filter type="exclusive"
+               name="org.jboss.jbossts.performance.MultiThreadedTest" /> <filter
+               type="exclusive"
+               name="org.jboss.jbossts.performance.task.RecursiveTask" />
+               <filter type="exclusive"
+               name="org.jboss.jbossts.performance.WarmedUpTest" /> <filter
+               type="exclusive" name="org.jboss.logging." /> <filter
+               type="exclusive" name="org.jboss.naming." /> <filter
+               type="exclusive" name="org.jboss.resource." /> <filter
+               type="exclusive" name="org.jboss.resource.connectionmanager." />
+               <filter type="exclusive" name="org.jboss.system." /> <filter
+               type="exclusive" name="org.jboss.tm." /> <filter type="exclusive"
+               name="org.jboss.util." /> <filter type="exclusive"
+               name="org.testng." /> <filter type="exclusive"
+               name="org.testng.TestNG" /> <filter type="exclusive"
+               name="org.testng.Assert" /-->
+         </filters>
+         <exceptionalMethods />
+         <ignoredMethods />
+         <triggers logTarget="stdout" logFile="">
+            <methodInvocation enabled="true" groupId=""
+               useGroupId="false" descriptionType="automatic" manualDescription=""
+               ignoreRecursiveCalls="false">
+               <actions>
+                  <startRecording>
+                     <cpu enabled="false" resetData="false" />
+                     <allocation enabled="false" resetData="false" />
+                     <thread enabled="false" />
+                     <telemetry enabled="false" />
+                     <methodStats enabled="true" />
+                  </startRecording>
+               </actions>
+               <methods>
+                  <method className="org.jboss.jbossts.performance.jdbc.JDBCTask" methodName="task" signature="(I)V" />
+            <method className="org.jboss.jbossts.performance.comparrison.ComparrisonTask" methodName="task" signature="(I)V" />
+            <method className="org.jboss.jbossts.performance.resource.SynchronizeTask" methodName="task" signature="(I)V" />
+               </methods>
+            </methodInvocation>
+         </triggers>
+         <viewSettings>
+            <invocationView showTime="true" showInherentTime="false"
+               showInvocationCount="true" showAverage="false"
+               isUsePercentageThreshold="false" percentageThreshold="0.01"
+               showPercentageBar="true" alwaysShowFQN="true"
+               alwaysShowSignature="false" percentageBase="2" scale="1" />
+            <hotspotsView showTime="true" showInherentTime="false"
+               showInvocationCount="true" showAverage="false"
+               isUsePercentageThreshold="false" percentageThreshold="0.01"
+               showPercentageBar="true" alwaysShowFQN="true"
+               alwaysShowSignature="false" percentageBase="2" scale="1" />
+            <callTracer percentageThreshold="100000" recordFiltered="false"
+               timeDisplay="relativeToFirstTrace" showSignature="true"
+               showClassNamesForMethods="false" />
+            <methodDistribution timeGridlines="3" scaleToFit="true"
+               verticalGridlines="3" logarithmicValues="true" />
+            <threadsHistoryView timeGridlines="3" bookmarks="3"
+               scaleToFit="false" background="2" monitorToolTips="true" />
+            <monitorHistory blockingThreshold="1000"
+               waitingThreshold="100000" />
+            <monitorHistoryTelemetry timeGridlines="3"
+               bookmarks="3" scaleToFit="false" />
+            <threadsMonitorView showRunnable="true"
+               showWaitingOnCondition="true" showWaitingOnMonitor="true"
+               showNetIo="true" showDead="false" />
+            <methodGraph colorInformation="1" colorScaleBase="1"
+               showSignature="false" usePercentageThreshold="false"
+               percentageThreshold="0.01" showAverageTimes="false" />
+            <classMonitorView primaryMeasure="1" sizeScale="1"
+               diffColumnOrder="2" differenceDisplayType="1" />
+            <allocationsMonitor cumulate="true"
+               showPercentageBar="true" alwaysShowFQN="true"
+               alwaysShowSignature="false" percentageBase="2" scale="1" />
+            <allocationHotspots diffColumnOrder="2"
+               differenceDisplayType="1" showPercentageBar="true" alwaysShowFQN="true"
+               alwaysShowSignature="false" percentageBase="2" scale="1" />
+            <heapWalkerView showViewHelperDialog="true"
+               showSelectionSteps="false" />
+            <heapWalkerClassesView primaryMeasure="1"
+               sizeScale="1" />
+            <heapWalkerAllocationsView cumulate="true"
+               showPercentageBar="true" alwaysShowFQN="true"
+               alwaysShowSignature="false" percentageBase="2" scale="1" />
+            <heapWalkerBiggestObjectsView
+               sizeScale="1" showObjectIds="false" showRetainedSizeBar="true"
+               percentageBase="topLevel" />
+            <heapWalkerReferencesView primaryMeasure="1"
+               sizeScale="1" showObjectIds="false" showObjectIdsInTree="true"
+               showDeclaringClassesInTree="true" />
+            <heapWalkerChronoView timeGridlines="3"
+               bookmarks="3" scaleToFit="false" verticalGridlines="3" />
+            <classTracker timeGridlines="3" bookmarks="3"
+               scaleToFit="false" verticalGridlines="3" objectScopeSelection="all"
+               livenessTypeSelection="Live objects">
+               <selections />
+            </classTracker>
+            <objectStatistics timeGridlines="3" bookmarks="3"
+               scaleToFit="false" verticalGridlines="3" graphType="1" />
+            <classStatistics timeGridlines="3" bookmarks="3"
+               scaleToFit="false" verticalGridlines="3" graphType="1" />
+            <recordedThroughput timeGridlines="3" bookmarks="3"
+               scaleToFit="false" verticalGridlines="3" />
+            <heapStatistics timeGridlines="3" bookmarks="3"
+               scaleToFit="false" verticalGridlines="3" graphType="1" />
+            <threadsStatistics timeGridlines="3" bookmarks="3"
+               scaleToFit="false" verticalGridlines="3" graphType="1" />
+            <gcActivity timeGridlines="3" bookmarks="3" scaleToFit="false"
+               verticalGridlines="3" graphType="1" />
+            <cpuLoad timeGridlines="3" bookmarks="3" scaleToFit="false"
+               verticalGridlines="3" graphType="1" />
+         </viewSettings>
+         <viewFilters>
+            <entry type="0" name="returnConnection" />
+         </viewFilters>
+         <threadFilters />
+         <classPath />
+         <sourcePath />
+         <libraryPath />
+      </session>
+   </sessions>
+   <mementos>
+   </mementos>
+</config>
+

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/configuration.properties
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/configuration.properties	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/jprofiler/configuration.properties	2010-08-04 12:17:36 UTC (rev 34504)
@@ -6,6 +6,7 @@
 profiler.agent.library=bin/linux-x64/libjprofilerti.so
 profiler.agent.library.path=/usr/local/jprofiler6.06
 profiler.agent.properties=port=8849,offline,id=130,config=src/main/resources/properties/profiler/${profiler}/config.xml
+#profiler.agent.properties=port=8849
 
 profiler.xbootclasspath=lib/profilerdrivers/${profiler}/agent.jar
 
@@ -17,4 +18,5 @@
 
 profiler.controller=org.jboss.jbossts.performance.profiler.implementation.JProfiler
 
-profile.data.file=/tmp/jprofiler-snapshot.jps
+profiler.data.jps.file=jprofiler.jps
+profiler.data.jps.dir=/tmp/jprofiler

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/ant-profiler.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/ant-profiler.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/ant-profiler.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -14,6 +14,12 @@
 
 <project name="JBoss TM: JProfiler Ant Import ">
 
+   <path id="profiler.classpath">
+      <fileset dir="lib/profilerdrivers/${profiler}">
+      
+      </fileset>
+   </path>
+   
    <target name="process-profiling-data"></target>   
 
 </project>
\ No newline at end of file

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/configuration.properties
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/configuration.properties	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/resources/properties/profiler/none/configuration.properties	2010-08-04 12:17:36 UTC (rev 34504)
@@ -6,4 +6,5 @@
 
 profiler.controller=org.jboss.jbossts.performance.profiler.implementation.NoOpProfiler
 
-profile.data.file=
\ No newline at end of file
+profiler.data.jps.file=none.jps
+profiler.data.jps.dir=/tmp/none
\ No newline at end of file

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/WarmedUpTest.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/WarmedUpTest.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/WarmedUpTest.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -68,9 +68,9 @@
 
    @Test(groups = "integration-persistence", dependsOnGroups = "integration-warmup")
    @Parameters(
-   { "test_count", "concurrency_count", "profile_dump_file"})
+   { "test_count", "concurrency_count", "profile_dump_file", "profile_dump_directory"})
    public void profiledTest(final String testCountConfig,
-         final String concurrentCountConfig, final String dumpFile)
+         final String concurrentCountConfig, final String dumpFile, final String dumpDirectory)
       throws Exception
    {
       NDC.push("profiled");

Added: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTask.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTask.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTask.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -0,0 +1,104 @@
+ /*
+  * 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.
+  */
+
+package org.jboss.jbossts.performance.comparrison;
+
+import org.apache.log4j.Logger;
+import org.jboss.jbossts.performance.configuration.JPAConfiguration;
+import org.jboss.jbossts.performance.task.RecursiveTask;
+
+import com.google.code.tempusfugit.temporal.DefaultDateFactory;
+import com.google.code.tempusfugit.temporal.Duration;
+import com.google.code.tempusfugit.temporal.StopWatch;
+import com.google.code.tempusfugit.temporal.Timeout;
+import com.google.code.tempusfugit.temporal.WaitFor;
+
+public class ComparrisonTask extends RecursiveTask
+{
+   private Logger logger = Logger.getLogger(ComparrisonTask.class);
+   @Override
+   public void task(int iteration) throws Exception
+   {
+      try
+      {
+         begin();
+         findA();
+         findB();
+         writeA();
+         writeB();
+         commit();
+      }
+      catch (Exception e)
+      {
+         logger.error(e.getMessage(), e);
+      }
+   }
+   
+   public void begin()
+      throws InterruptedException
+   {
+      logger.debug("begin");
+      Timeout timeout = new Timeout(Duration.millis(100l), StopWatch.start(new DefaultDateFactory()));
+      WaitFor.waitUntil(timeout);
+   }
+   public void findA()
+      throws InterruptedException
+   {
+      logger.debug("findA");
+      Timeout timeout = new Timeout(Duration.millis(200l), StopWatch.start(new DefaultDateFactory()));
+      WaitFor.waitUntil(timeout);
+   }
+   public void findB()
+      throws InterruptedException
+   {
+      logger.debug("findB");
+      Timeout timeout = new Timeout(Duration.millis(230l), StopWatch.start(new DefaultDateFactory()));
+      WaitFor.waitUntil(timeout);
+   }
+   public void writeA()
+      throws InterruptedException
+   {
+      logger.debug("writeA");
+      Timeout timeout = new Timeout(Duration.millis(510l), StopWatch.start(new DefaultDateFactory()));
+      WaitFor.waitUntil(timeout);  
+   }
+   public void writeB()
+      throws InterruptedException
+   {
+      logger.debug("writeB");
+      Timeout timeout = new Timeout(Duration.millis(5200l), StopWatch.start(new DefaultDateFactory()));
+      WaitFor.waitUntil(timeout);
+   }
+   public void commit()
+      throws InterruptedException
+   {
+      logger.debug("commit");
+      Timeout timeout = new Timeout(Duration.millis(1000l), StopWatch.start(new DefaultDateFactory()));
+      WaitFor.waitUntil(timeout);
+   }
+   
+   public ComparrisonTask(final JPAConfiguration taskConfiguration)
+   {
+      super(taskConfiguration);
+   }
+
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTest.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTest.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/comparrison/ComparrisonTest.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -0,0 +1,58 @@
+ /*
+  * 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.
+  */
+
+package org.jboss.jbossts.performance.comparrison;
+
+import java.lang.reflect.Constructor;
+
+import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
+
+import org.apache.log4j.NDC;
+import org.jboss.jbossts.performance.MultiThreadedTest;
+import org.jboss.jbossts.performance.configuration.JPAConfiguration;
+import org.jboss.jbossts.performance.configuration.MultithreadedTestConfiguration;
+import org.jboss.jbossts.performance.jdbc.JDBCTask;
+import org.jboss.jbossts.performance.task.pooling.ConnectionHandler;
+
+/**
+ * The purpose of this object is to allow some comparrison of the different 
+ * profilers.
+ * 
+ * @author <a href="jwhiting at redhat.com">Jeremy Whiting</a>
+ * @version $Revision: 1.1 $
+ */
+public class ComparrisonTest extends MultiThreadedTest
+{
+   @Override
+   public Runnable getTask(final MultithreadedTestConfiguration taskConfiguration) throws Exception
+   {
+      Constructor<ConnectionHandler> handlerConstructor =  taskConfiguration.getConnectionHandlerClass().getConstructor(DataSource.class, DataSource.class, TransactionManager.class );
+      return new ComparrisonTask(new JPAConfiguration(handlerConstructor.newInstance (getDataSourceA(), getDataSourceB(), getTransactionManager()), getUserTransactionA(), getEntityManagerFactory(), getEntityManagerFactoryB(), taskConfiguration.getIterationCount(), this.isOptionalWriteEnabled, NDC.cloneStack(), taskConfiguration));
+   }
+   @Override
+   protected boolean isMultiResourceTest()
+   {
+      return true;
+   }
+
+}

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/jdbc/JDBCTask.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/jdbc/JDBCTask.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/jdbc/JDBCTask.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -27,7 +27,13 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicRollbackException;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+
 import org.apache.commons.dbutils.DbUtils;
+import org.apache.commons.lang.math.NumberUtils;
 import org.apache.log4j.Logger;
 import org.jboss.jbossts.performance.configuration.JPAConfiguration;
 import org.jboss.jbossts.performance.task.RecursiveTask;
@@ -72,15 +78,13 @@
          {
             begin();
             connectionA = getTaskConfiguration().getConnectionHandler().getConnectionA();
-            pStatementARead = connectionA.prepareStatement("SELECT USER_ID , OBJ_VERSION FROM USERS WHERE USER_ID=?");
-            resultA = findUsingResourceA(pStatementARead, this.getTaskConfiguration().getTestConfiguration().getThreadIdentity());
+            resultA = findUsingResourceA("SELECT USER_ID , OBJ_VERSION FROM USERS WHERE USER_ID=?", connectionA, this.getTaskConfiguration().getTestConfiguration().getThreadIdentity(), NumberUtils.INTEGER_ZERO);
             Assert.assertTrue(resultA.next());
             int version = resultA.getInt(2);
             
             if (this.isOptionalWriteEnabled)
             {
-               pStatementAWrite = connectionA.prepareStatement("update USERS set FIRSTNAME=?, OBJ_VERSION=? where USER_ID=? and OBJ_VERSION=?");
-               writeUsingResourceA(pStatementAWrite, time, version);
+               writeUsingResourceA("update USERS set FIRSTNAME=?, OBJ_VERSION=? where USER_ID=? and OBJ_VERSION=?", connectionA, time, version);
             }
             resAOK = true;
          }
@@ -99,13 +103,11 @@
             try
             {
                connectionB= getTaskConfiguration().getConnectionHandler().getConnectionB();
-               pStatementBRead = connectionB.prepareStatement("SELECT USER_ID, OBJ_VERSION FROM USERS WHERE USER_ID=?");
-               resultB = findUsingResourceB(pStatementBRead, this.getTaskConfiguration().getTestConfiguration().getThreadIdentity());
+               resultB = findUsingResourceB("SELECT USER_ID, OBJ_VERSION FROM USERS WHERE USER_ID=?", connectionB,this.getTaskConfiguration().getTestConfiguration().getThreadIdentity(), NumberUtils.INTEGER_ONE);
                Assert.assertTrue(resultB.next());
                int version = resultB.getInt(2);
                
-               pStatementBWrite = connectionB.prepareStatement("update USERS set FIRSTNAME=?, OBJ_VERSION=? where USER_ID=? and OBJ_VERSION=?");
-               writeUsingResourceB(pStatementBWrite, time, version);
+               writeUsingResourceB("update USERS set FIRSTNAME=?, OBJ_VERSION=? where USER_ID=? and OBJ_VERSION=?", connectionB, time, version);
                completed = true;
             }
             catch (Exception e) {
@@ -122,58 +124,66 @@
       }
       finally
       {
-         if (completed)
-         {
-            this.getTaskConfiguration().getUserTransaction().commit();
-         }
-         else
-         {
-            getTaskConfiguration().getUserTransaction().rollback();
-            Assert.fail("The test case had a problem and the transaction was rolled back.");
-         }
+         commit(completed);
       }
    }
-   private ResultSet findUsingResourceA(final PreparedStatement preparedStatement, final Long id)
+   public ResultSet findUsingResourceA(final String statement, final Connection conn, final Long id, final int A)
       throws SQLException
    {
-      return findUsingResource(preparedStatement, id);
+      return findUsingResource(statement, conn, id);
    }
-   private ResultSet findUsingResourceB(final PreparedStatement preparedStatement, final Long id)
+   public ResultSet findUsingResourceB(final String statement, final Connection conn, final Long id, final int B)
    throws SQLException
    {
-      return findUsingResource(preparedStatement, id);
+      return findUsingResource(statement, conn, id);
    }
-   private ResultSet findUsingResource(final PreparedStatement statement, final Long id)
+   private ResultSet findUsingResource(final String statement, final Connection conn, final Long id)
       throws SQLException
    {
-      statement.setLong(1, id);
-      return statement.executeQuery();
+      PreparedStatement pStatement = conn.prepareStatement(statement);
+      pStatement.setLong(1, id);
+      return pStatement.executeQuery();
    }
    
-   private void writeUsingResourceA(PreparedStatement pStatement, long time, int version)
+   private void writeUsingResourceA(final String statement, final Connection conn, long time, int version)
       throws SQLException
    {
-      writeUsingResource(pStatement, time, version);
+      writeUsingResource(statement, conn, time, version);
    }
    
-   private void writeUsingResourceB(PreparedStatement pStatement, long time, int version)
+   private void writeUsingResourceB(final String statement, final Connection conn, long time, int version)
       throws SQLException
    {
-      writeUsingResource(pStatement, time, version);
+      writeUsingResource(statement, conn, time, version);
    }
    
-   private void writeUsingResource(PreparedStatement pStatement, long time, int version)
+   private void writeUsingResource(final String statement, final Connection conn, long time, int version)
       throws SQLException
    {
+      PreparedStatement pStatement = conn.prepareStatement(statement);
       pStatement.setString(1, String.format("Ben%1$d", time));
       pStatement.setInt(2, (version+1));
       pStatement.setInt(3, this.getTaskConfiguration().getTestConfiguration().getThreadIdentity().intValue());
       pStatement.setInt(4, version);
       Assert.assertEquals(pStatement.executeUpdate(), 1) ;
    }
-   private void begin() 
+   public void begin() 
       throws Exception
    {
       getTaskConfiguration().getUserTransaction().begin();
-   } 
+   }
+   
+   public void commit(boolean completed )
+      throws SystemException, HeuristicRollbackException, HeuristicMixedException, RollbackException
+   {
+      if (completed)
+       {
+          this.getTaskConfiguration().getUserTransaction().commit();
+       }
+       else
+       {
+          getTaskConfiguration().getUserTransaction().rollback();
+          Assert.fail("The test case had a problem and the transaction was rolled back.");
+       }
+   }
 }
\ No newline at end of file

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/resource/SynchronizeTask.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/resource/SynchronizeTask.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/resource/SynchronizeTask.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -2,6 +2,7 @@
 
 import javax.persistence.EntityManager;
 
+import org.hibernate.Session;
 import org.hibernate.Transaction;
 import org.hibernate.ejb.EntityManagerImpl;
 import org.jboss.jbossts.performance.configuration.JPAConfiguration;
@@ -42,7 +43,7 @@
    {
       final EntityManagerImpl emA  = (EntityManagerImpl) this.getTaskConfiguration().getEntityManagerFactoryA().createEntityManager();
       final EntityManagerImpl emB = (EntityManagerImpl) this.getTaskConfiguration().getEntityManagerFactoryB().createEntityManager();
-      final Transaction transaction =emA.getSession().beginTransaction();
+      final Transaction transaction = begin(emA.getSession());
       final TransactionLocal session = new TransactionLocal();
       
       /* emA automatically has a synch established because it is associated with the em factory A.
@@ -84,10 +85,10 @@
       /*Need to flush here to avoid profiling on the class SessionImpl. */
       if (this.isOptionalWriteEnabled)
       {
-         resourceAFlush(emA);
+         writeUsingResourcA(emA);
       }
       
-      resourceBFlush(emB);
+      writeUsingResourcB(emB);
       
       /* want to detatch the entities in emA persistence context to avoid 
        * expensive flush later. */
@@ -99,26 +100,35 @@
        * beforehand.
        * At this
        * point only EM B's persistence context has any pending writes. */
-      transaction.commit(); 
+      commit(transaction);
    }
    /**
     * This method exists purely for the profiler to separate resource duration 
     *
     */
-   private void resourceAFlush(EntityManager entityManager)
+   public void writeUsingResourcA(EntityManager entityManager)
    {
       entityManager.flush();
    }
-   private void resourceBFlush(EntityManager entityManager)
+   public void writeUsingResourcB(EntityManager entityManager)
    {
       entityManager.flush();
    }
-   private User findUsingResourceA(UserDAOBeanMultiResource daoBean)
+   public User findUsingResourceA(UserDAOBeanMultiResource daoBean)
    {
       return daoBean.findById(this.getTaskConfiguration().getTestConfiguration().getThreadIdentity(), false);
    }
-   private User findUsingResourceB(final UserDAOBeanMultiResource daoBean)
+   public User findUsingResourceB(final UserDAOBeanMultiResource daoBean)
    {
       return daoBean.findById(this.getTaskConfiguration().getTestConfiguration().getThreadIdentity(), false);
    }
+   
+   public Transaction begin(Session session)
+   {
+      return session.beginTransaction();
+   }
+   public void commit (Transaction transaction)
+   {
+      transaction.commit();
+   }
 }

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/RecursiveTask.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/RecursiveTask.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/RecursiveTask.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -42,7 +42,7 @@
 {
    protected final boolean isOptionalWriteEnabled;
    private final int recurseCount;
-   private final static Logger logger = Logger.getLogger(SynchronizeTask.class);
+   private final static Logger logger = Logger.getLogger(RecursiveTask.class);
    @SuppressWarnings("unchecked")
    private final Stack parentNDC;
    private final JPAConfiguration taskConfiguration;

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/CachedConnection.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/CachedConnection.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/CachedConnection.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -28,8 +28,6 @@
 import javax.sql.DataSource;
 import javax.transaction.TransactionManager;
 
-import org.jboss.jbossts.performance.managed.AbstractCachedConnectionWrapper;
-
 /**
  * This object provides the connection handling to be changed. It
  * is intended for use with local-tx transactions.

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/ConnectionHandler.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/ConnectionHandler.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/ConnectionHandler.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -57,5 +57,5 @@
     * Use this method to de-cache the connection from the thread. Necessary
     * for cleaning up.
     */
-   public void deCacheConnection(Connection conn) throws SQLException;
+   public void deCacheConnection() throws SQLException;
 }

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/PooledConnectionHandler.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/PooledConnectionHandler.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/PooledConnectionHandler.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -81,6 +81,6 @@
    @Override
    public void deCacheConnection(Connection conn) throws SQLException
    {
-      // do nothing, the pooling implementation uses the JCA pooling framework to close connections at the proper time.
+      // do nothing
    }
 }

Deleted: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/XACachedConnection.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/XACachedConnection.java	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/org/jboss/jbossts/performance/task/pooling/XACachedConnection.java	2010-08-04 12:17:36 UTC (rev 34504)
@@ -1,145 +0,0 @@
-/*
- * 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.
- */
-
-package org.jboss.jbossts.performance.task.pooling;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-import javax.sql.DataSource;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-import javax.transaction.xa.XAResource;
-
-import org.apache.log4j.Logger;
-import org.jboss.jbossts.performance.xa.managed.XAWrappedConnection;
-
-/**
- * 
- * This object is responsible for demarcating the transaction boundary.
- * This should be used for xa transactions.
- * Typically this is performed by an EJB container. This object uses
- * the calls to getConnection and close to enlist and delist a connection
- * to transaction association using the XAResource.
- * 
- * @author <a href="jwhiting at redhat.com">Jeremy Whiting</a>
- * @version $Revision: 1.1 $
- */
-public class XACachedConnection extends CachedConnection
-{ 
-   /**
-    * Logging object
-    */
-   private Logger logger = Logger.getLogger(XACachedConnection.class);
-
-   /**
-    * Reference to the transaction manager used for handling transaction
-    * demarcation.
-    */
-   private TransactionManager transManager;
-
-   public XACachedConnection(final DataSource dataSourceA, final DataSource dataSourceB, final TransactionManager tm)
-   {
-      super(dataSourceA, dataSourceB, tm);
-      this.transManager = tm;
-   }
-
-   @Override
-   public Connection closeQuietly(Connection conn) throws SQLException
-   {
-      /**
-       * Here the connection is delisted from the transaction.
-       */
-      if (null != conn)
-      {
-         try
-         {
-            XAWrappedConnection xaConn = (XAWrappedConnection)conn;
-            Transaction transaction = this.transManager.getTransaction();
-            if (null != transaction && null != conn && null != xaConn.getXAResource())
-            {
-               if (!transaction.delistResource(xaConn.getManagedConnection(), XAResource.TMSUCCESS))
-               {
-                  throw new SQLException("Failed to delist connection.");
-               }
-            }
-         }
-         catch (SystemException se)
-         {
-            logger.error(se.getMessage());
-            throw new SQLException(se);
-         }
-      }
-      return conn;
-   }
-
-   @Override
-   public Connection getConnectionA() throws SQLException
-   {
-      Connection returnValue = super.getConnectionA();
-//      if (1 == doEnlist.length && doEnlist[0])
-//      {
-//         enlist((XAWrappedConnection) returnValue);
-//      }
-      return returnValue;
-   }
-
-   @Override
-   public Connection getConnectionB() throws SQLException
-   {
-      Connection returnValue = super.getConnectionB();
-//      if (1 == doEnlist.length && doEnlist[0])
-//      {
-//         enlist((XAWrappedConnection) returnValue);
-//      }
-      return returnValue;
-   }
-
-//   @SuppressWarnings("unused")
-//   private void enlist(XAWrappedConnection xaConn) throws SQLException
-//   {
-//      /**
-//       * Enlist the connection with the transation.
-//       */
-//      try
-//      {
-//         if (null != this.transManager.getTransaction() && null != xaConn && null != xaConn.getXAResource())
-//         {
-//            if (!this.transManager.getTransaction().enlistResource(xaConn.getManagedConnection()))
-//            {
-//               throw new SQLException("Failed to enlist connection.");
-//            }
-//         }
-//      }
-//      catch (SystemException se)
-//      {
-//         logger.error(se.getMessage());
-//         throw new SQLException(se);
-//      }
-//      catch (RollbackException re)
-//      {
-//         logger.error(re.getMessage());
-//         throw new SQLException(re);
-//      }
-//   }
-}

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/resources/testsuite-integration-ejb3.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/resources/testsuite-integration-ejb3.xml	2010-08-04 11:42:39 UTC (rev 34503)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/resources/testsuite-integration-ejb3.xml	2010-08-04 12:17:36 UTC (rev 34504)
@@ -2,64 +2,64 @@
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
 <suite name="CaveatEmptor Integration" verbose="2">
 
-	<!-- Our datasource definition for the embedded EJB 3.0 container -->
-	<parameter name="deploy_beans_xml" value="META-INF/caveatemptor-beans.xml" />
+   <!-- Our datasource definition for the embedded EJB 3.0 container -->
+   <parameter name="deploy_beans_xml" value="META-INF/caveatemptor-beans.xml" />
 
-	<!--
-		Location to scan for META-INF/persistence.xml and @Entity classes
-		(must be in java.class.path, can be several paths comma separated, all
-		regular slashes are automatically replaced with Windows file
-		separators!)
-	-->
-	<parameter name="scan_classpath" value="build/classes" />
+   <!--
+      Location to scan for META-INF/persistence.xml and @Entity classes
+      (must be in java.class.path, can be several paths comma separated, all
+      regular slashes are automatically replaced with Windows file
+      separators!)
+   -->
+   <parameter name="scan_classpath" value="build/classes" />
 
-	<!-- DBUnit needs a database connection -->
-	<parameter name="jndi_datasource_A" value="java:/caveatemptorTestingDatasourceA" />
-	<parameter name="jndi_datasource_B" value="java:/caveatemptorTestingDatasourceB" />
+   <!-- DBUnit needs a database connection -->
+   <parameter name="jndi_datasource_A" value="java:/caveatemptorTestingDatasourceA" />
+   <parameter name="jndi_datasource_B" value="java:/caveatemptorTestingDatasourceB" />
 
-	<!-- How do we get an EntityManagerFactory from JNDI in tests? -->
-	<parameter name="jndi_name_emf_A"
-		value="java:/EntityManagerFactories/caveatEmptorEMF_A" />
-	<parameter name="jndi_name_emf_B"
+   <!-- How do we get an EntityManagerFactory from JNDI in tests? -->
+   <parameter name="jndi_name_emf_A"
+      value="java:/EntityManagerFactories/caveatEmptorEMF_A" />
+   <parameter name="jndi_name_emf_B"
       value="java:/EntityManagerFactories/caveatEmptorEMF_B" />
 
-	<!-- How do we get a JTA UserTransaction from JNDI in tests? -->
-	<parameter name="jndi_name_usertx_A" value="UserTransaction" />
-	<parameter name="jndi_name_usertx_B" value="java:/UserTransactionB" />
+   <!-- How do we get a JTA UserTransaction from JNDI in tests? -->
+   <parameter name="jndi_name_usertx_A" value="UserTransaction" />
+   <parameter name="jndi_name_usertx_B" value="java:/UserTransactionB" />
 
-	<!-- Database dataset location for DBUnit -->
-	<parameter name="basedata_location" value="basedata.xml" />
-	
-	<!-- Database dataset factory for DBUnit -->
-	<parameter name="datatype_factory_A" value="${db-vendor-dbunit-datatype.factory.A}"/>
-	<parameter name="datatype_factory_B" value="${db-vendor-dbunit-datatype.factory.B}"/>
-	
-	<!-- Class name for vendor specific database relaxing for bulk imports -->
-	<parameter name="integrity_constraint_A" value="${db-vendor-constraint-class.A}"/>
-	<parameter name="integrity_constraint_B" value="${db-vendor-constraint-class.B}"/>
-	
-	<!-- JNDI name for SessionFactory -->
-	<parameter name="session_jndi_A" value="java:/persistence/HibernateSessionFactoryA"/>
-	<parameter name="session_jndi_B" value="java:/persistence/HibernateSessionFactoryB"/>
-	
-	<parameter name="warmup_count" value="${warmup-count}"/>
-	<parameter name="test_count" value="${profiled-count}"/>
-	
-	<parameter name="concurrency_count" value="${threads}"/>
-	
-	<parameter name="profiler_fqcn" value="${profiler.controller}"/>
+   <!-- Database dataset location for DBUnit -->
+   <parameter name="basedata_location" value="basedata.xml" />
+   
+   <!-- Database dataset factory for DBUnit -->
+   <parameter name="datatype_factory_A" value="${db-vendor-dbunit-datatype.factory.A}"/>
+   <parameter name="datatype_factory_B" value="${db-vendor-dbunit-datatype.factory.B}"/>
+   
+   <!-- Class name for vendor specific database relaxing for bulk imports -->
+   <parameter name="integrity_constraint_A" value="${db-vendor-constraint-class.A}"/>
+   <parameter name="integrity_constraint_B" value="${db-vendor-constraint-class.B}"/>
+   
+   <!-- JNDI name for SessionFactory -->
+   <parameter name="session_jndi_A" value="java:/persistence/HibernateSessionFactoryA"/>
+   <parameter name="session_jndi_B" value="java:/persistence/HibernateSessionFactoryB"/>
+   
+   <parameter name="warmup_count" value="${warmup-count}"/>
+   <parameter name="test_count" value="${profiled-count}"/>
+   
+   <parameter name="concurrency_count" value="${threads}"/>
+   
+   <parameter name="profiler_fqcn" value="${profiler.controller}"/>
 
    <!-- This value can control whether the TransactionReaper thread is started. A
    Value of 0 will disable the component, anything else will start it with the
-   transaction check timout value. in milliseconds -->	
-	<parameter name="transaction_timeout" value="0"/>
-	
-	<!-- This flag controls the writing of state in first resource.  -->
-	<parameter name="invoke_optional_write" value="${optional.write.enabled}"/>
-	
-	<!-- This flag controls the last resource commit optimisation. true|false -->
-	<parameter name="use_lrco" value="${user.last.resource.commit}"/>
+   transaction check timout value. in milliseconds -->   
+   <parameter name="transaction_timeout" value="0"/>
    
+   <!-- This flag controls the writing of state in first resource.  -->
+   <parameter name="invoke_optional_write" value="${optional.write.enabled}"/>
+   
+   <!-- This flag controls the last resource commit optimisation. true|false -->
+   <parameter name="use_lrco" value="${user.last.resource.commit}"/>
+   
    <!-- Connection handler: allows the bypassing of JCA pooling -->
    <parameter name="connection_handler_fqcn" value="${connection.handler.fqcn}"/>
    
@@ -68,37 +68,23 @@
    <parameter name="action_store_fqcn" value="${action.store.fqcn}"/>
    
    <!-- Profiling captured data file location -->
-   <parameter name="profile_dump_file" value="${profile.data.file}"/>
-	
-	<test name="Integration JPA">
-		<groups>
-			<define name="profiled-integration-persistence">
+   <parameter name="profile_dump_file" value="${profiler.data.jps.file}"/>
+   <parameter name="profile_dump_directory" value="${profiler.data.jps.file}"/>
+   
+   <test name="Integration JPA">
+      <groups>
+         <define name="profiled-integration-persistence">
             <include name="integration-persistence" />
             <include name="integration-warmup" />
          </define>
-			
-			<run>
-				<include name="profiled-integration-persistence" />
-			</run>
-		</groups>
+         
+         <run>
+            <include name="profiled-integration-persistence" />
+         </run>
+      </groups>
 
-		<classes>
-			<class name="${fqcn.test.case}" /> 
-		</classes>
-	</test>
-
-	<!--
-	transaction.strategy=${transaction.strategy}
-	resource.A.db.installation=${resource.A.db.installation}
-	resource.A.db.vendor=${resource.A.db.vendor}
-   resource.A.jdbc-datasource=${resource.A.jdbc-datasource}
-   resource.B.db.installation=${resource.B.db.installation}
-   resource.B.db.vendor=${resource.B.db.vendor}
-   resource.B.jdbc-datasource=${resource.B.jdbc-datasource}
-   profiler=${profiler}
-   transaction.log.store=${transaction.log.store}
-   threads=${threads}
-   profiled=${profiled}
-   suspend=${suspend}
-	-->
+      <classes>
+         <class name="${fqcn.test.case}" /> 
+      </classes>
+   </test>
 </suite>



More information about the jboss-svn-commits mailing list