[jboss-svn-commits] JBL Code SVN: r31625 - labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Feb 12 13:13:56 EST 2010


Author: whitingjr
Date: 2010-02-12 13:13:55 -0500 (Fri, 12 Feb 2010)
New Revision: 31625

Modified:
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java
Log:
Added data creation programatically.

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java	2010-02-12 18:12:30 UTC (rev 31624)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/test/java/auction/test/basic/ProfiledStateTransitions.java	2010-02-12 18:13:55 UTC (rev 31625)
@@ -26,7 +26,10 @@
 import java.io.File;
 import java.io.InputStream;
 import java.sql.Connection;
+import java.sql.Date;
+import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import java.sql.Types;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -117,6 +120,7 @@
    protected boolean isOptionalWriteEnabled;
    private DefaultDataTypeFactory dataTypeFactoryB;
    protected Profiler profiler;
+   private int concurrencyCount;
    
    @Override
    public void prepareDataSet(String location, String factory) throws Exception
@@ -264,9 +268,9 @@
    
    @BeforeTest(groups = "integration-warmup")
    @Parameters(
-   {"deploy_beans_xml", "scan_classpath", "jndi_datasource_A", "jndi_datasource_B", "jndi_name_emf_A", "jndi_name_emf_B", "jndi_name_usertx_A", "jndi_name_usertx_B", "session_jndi_A", "session_jndi_B", "invoke_optional_write", "transaction_timeout", "use_lrco"})
+   {"deploy_beans_xml", "scan_classpath", "jndi_datasource_A", "jndi_datasource_B", "jndi_name_emf_A", "jndi_name_emf_B", "jndi_name_usertx_A", "jndi_name_usertx_B", "session_jndi_A", "session_jndi_B", "invoke_optional_write", "transaction_timeout", "use_lrco", "concurrency_count"})
    public void startContainer(String deployBeansXml, String scanClasspath, String jndiDatasourceA, String jndiDatasourceB, String jndiNameEMF_A, String jndiNameEMF_B,
-         String jndiNameUserTxA, String jndiNameUserTxB, String jndiNameHSF_A, String jndiNameHSF_B, String flag, String transactionTimeout, String useLRCO) throws Exception
+         String jndiNameUserTxA, String jndiNameUserTxB, String jndiNameHSF_A, String jndiNameHSF_B, String flag, String transactionTimeout, String useLRCO, String concurrencyCountConfig) throws Exception
    {
       // Set configuration options from TestNG parameters
       JNDI_DATASOURCE = jndiDatasourceA;
@@ -293,6 +297,11 @@
          jtaPropertyManager.getJTAEnvironmentBean().setLastResourceOptimisationInterface("org.jboss.tm.LastResource");
       }
       
+      if (StringUtils.isNotEmpty(concurrencyCountConfig))
+      {
+         this.concurrencyCount = Integer.parseInt(concurrencyCountConfig);
+      }
+      
       // Boot the JBoss Microcontainer with EJB3 settings, automatically
       // loads ejb3-interceptors-aop.xml and embedded-jboss-beans.xml
       EJB3StandaloneBootstrap.boot(null);
@@ -362,6 +371,10 @@
              {
                 op.execute(iDatabaseConn , dataSet);
              }
+             /* Because the number of threads varies for each test, use batch data population. 
+              * Uses a prepared statement to batch the inserts.  */
+             insertUsers(this.concurrencyCount, connection);
+             
              /* Reinstate the constraints. */
              if (controller.isDisablePreferedOverDrop())
              {// enforce the constraints
@@ -505,7 +518,30 @@
    {
       return this.profiler;
    }
-   
+
+   private void insertUsers(Integer userCount, Connection connection)
+      throws SQLException
+   {
+      PreparedStatement pStatement = connection.prepareStatement("insert into USERS (USER_ID, OBJ_VERSION, FIRSTNAME, LASTNAME, USERNAME, PASSWD, EMAIL, RANK, CREATED, HOME_STREET, HOME_ZIPCODE, HOME_CITY, DEFAULT_BILLING_DETAILS_ID) values (?,?,?,?,?,?,?,?,?,?,?,?,?)");;
+      for (int count = 1; count <= userCount; count += 1)
+      {
+         pStatement.setInt(1, count);
+         pStatement.setInt(2, 0);
+         pStatement.setString(3, "John");
+         pStatement.setString(4, "Doe");
+         pStatement.setString(5, String.format("johndoe%1$s", count));
+         pStatement.setString(6, "secret");
+         pStatement.setString(7, "jd at mail.tld");
+         pStatement.setInt(8, 0);
+         pStatement.setDate(9, new Date(System.currentTimeMillis()));
+         pStatement.setString(10, "Foostreet");
+         pStatement.setString(11, "22222");
+         pStatement.setString(12, "Foocity");
+         pStatement.setNull(13, Types.NUMERIC);
+         pStatement.addBatch();
+      }
+      pStatement.executeBatch();
+   }
 }
 
 



More information about the jboss-svn-commits mailing list