[embjopr-commits] EMBJOPR SVN: r138 - in trunk/jsfunit: src/test/java/org/jboss/jopr/jsfunit and 3 other directories.

embjopr-commits at lists.jboss.org embjopr-commits at lists.jboss.org
Fri Feb 6 13:42:56 EST 2009


Author: fjuma
Date: 2009-02-06 13:42:55 -0500 (Fri, 06 Feb 2009)
New Revision: 138

Added:
   trunk/jsfunit/testdata/datasources/
   trunk/jsfunit/testdata/datasources/ExpectedMultipleDatasourcesAfterDeletion-ds.xml
   trunk/jsfunit/testdata/datasources/MultipleDatasources-ds.xml
Modified:
   trunk/jsfunit/pom.xml
   trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java
   trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java
Log:
Added a datasource deletion test that is related to JBAS-6227 and added another test for the "Flush" operation.
Made some code style changes.


Modified: trunk/jsfunit/pom.xml
===================================================================
--- trunk/jsfunit/pom.xml	2009-02-04 20:55:30 UTC (rev 137)
+++ trunk/jsfunit/pom.xml	2009-02-06 18:42:55 UTC (rev 138)
@@ -259,6 +259,10 @@
                            <file>${JBOSS_HOME}/server/default/conf/jboss-log4j.xml</file>
                            <tofile>conf/jboss-log4j.xml</tofile>
                          </configfile>
+                         <configfile>
+                           <file>${basedir}/testdata/datasources/MultipleDatasources-ds.xml</file>
+                           <toFile>deploy/MultipleDatasources-ds.xml</toFile>
+                         </configfile>
                        </configfiles>
                      </configuration>
                      <!-- /Container configuration -->

Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java	2009-02-04 20:55:30 UTC (rev 137)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java	2009-02-06 18:42:55 UTC (rev 138)
@@ -31,6 +31,8 @@
 import org.jdom.Element;
 import org.jdom.input.SAXBuilder;
 import java.io.File;
+import java.io.BufferedReader;
+import java.io.FileReader;
 import java.util.Map;
 import java.util.HashMap;
 import javax.naming.InitialContext;
@@ -70,7 +72,7 @@
 
 			protected final String xmlElementName;
 			public String getXmlElementName() {				return xmlElementName;			}
-			// Also server as value for HTML Radio for Datasource type selection.
+			// Also serves as value for HTML Radio for Datasource type selection.
 			public String getHtmlRadioValue() {				return xmlElementName;			}
 			
 
@@ -122,23 +124,15 @@
 
 			/** AS 4 */
 			AS4_ORACLE_LOCAL_TX("Oracle Local TX__Datasource"),
-			/** AS 4 */
 			AS4_ORACLE_XA("Oracle XA__Datasource"),
-			/** AS 4 */
 			AS4_DEFAULT("default__Datasource"),
 
-
 			/** AS 5 */
 			AS5_ORACLE_LOCAL_TX("Oracle Local TX__Local TX Datasource"),
-			/** AS 5 */
 			AS5_DEFAULT_LOCAL_TX("default__Local TX Datasource"),
-			/** AS 5 */
 			AS5_ORACLE_NO_TX("Oracle No TX__No TX Datasource"),
-			/** AS 5 */
 			AS5_DEFAULT_NO_TX("default__No TX Datasource"),
-			/** AS 5 */
 			AS5_ORACLE_XA("Oracle XA__XA Datasource"),
-			/** AS 5 */
 			AS5_DEFAULT_XA("default__XA Datasource");
 
 
@@ -185,8 +179,8 @@
      * appears in the left nav (eg. "Local TX Datasources")
      */
     protected abstract void createDatasource(DatasourceType datasourceType,
-                                  String datasourceTemplate,
-                                  Map<String, String> propertiesMap) throws IOException;
+                                             String datasourceTemplate,
+                                             Map<String, String> propertiesMap) throws IOException;
     
     /**
      * Delete the datasource given by datasourceName.
@@ -359,6 +353,27 @@
     }
     
     /**
+     * compareFiles is used to check if the two given files are identical.
+     */
+    public void compareFiles(String actualFile, String expectedFile) throws Exception {
+        BufferedReader actual = new BufferedReader(new FileReader(actualFile));
+        BufferedReader expected = new BufferedReader(new FileReader(expectedFile));
+        String expectedLine;
+        String actualLine;
+        
+        // Compare the two files
+        while((actualLine = actual.readLine()) != null) { 
+          expectedLine = expected.readLine();
+          assertTrue("Extra line in -ds.xml file: " + actualLine, expectedLine != null);
+          assertEquals("Incorrect line in -ds.xml file: '" + actualLine + "' -  ",
+                       expectedLine, actualLine);
+        }
+        
+        expectedLine = expected.readLine();
+        assertTrue("Missing line in -ds.xml file: " + expectedLine, expectedLine == null);
+    }
+    
+    /**
      * @return the suite of tests being tested
 		 * @throws UnsupportedOperationException - you have to override this.
 		 *         Can't be abstract, must be static.
@@ -386,9 +401,8 @@
         Map<String, String> propertiesMap = this.getDatasourceProperties();
 
         createDatasource(DatasourceType.LOCAL_TX_DATASOURCE,
-												 //was: "default__Local TX Datasource",
-												 DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), // TODO: Redundant - remove.
-												 propertiesMap);
+                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), // TODO: Redundant - remove.
+                         propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
         // Check for the appropriate success messages
@@ -396,7 +410,7 @@
         checkClientAndServerMessages(expectedMessage, expectedMessage, false);
 
         assertTrue("Datasource is not deployed (isDatasourceDeployed() returned false).",
-								isDatasourceDeployed(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE));
+                   isDatasourceDeployed(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE));
         assertTrue(checkProperties(propertiesMap.get("jndi-name"),
                                    DatasourceType.LOCAL_TX_DATASOURCE,
                                    propertiesMap));
@@ -421,25 +435,23 @@
         propertiesMap.put("user-name", "testUser");
         propertiesMap.put("max-pool-size", "10");
         propertiesMap.put("idle-timeout-minutes", "20");
-				if( !isJBoss4 ){
-          propertiesMap.put("prefill", "true");
-          propertiesMap.put("set-tx-query-timeout", "true");
-          propertiesMap.put("query-timeout", "1800");
-				}
+        if(!isJBoss4){
+            propertiesMap.put("prefill", "true");
+            propertiesMap.put("set-tx-query-timeout", "true");
+            propertiesMap.put("query-timeout", "1800");
+        }
         
         createDatasource(DatasourceType.NO_TX_DATASOURCE, 
-						//"default__No TX Datasource",
-						isJBoss4 ?
-							DatasourceTemplate.AS4_DEFAULT.getTemplateHtmlSelectValue() :
-							DatasourceTemplate.AS5_DEFAULT_NO_TX.getTemplateHtmlSelectValue(),
+                         //"default__No TX Datasource",
+                         isJBoss4 ?
+                             DatasourceTemplate.AS4_DEFAULT.getTemplateHtmlSelectValue() :
+                             DatasourceTemplate.AS5_DEFAULT_NO_TX.getTemplateHtmlSelectValue(),
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
         
         // Check for the appropriate error messages
-				checkClientAndServerMessages(
-							"An invalid value was specified for one or more properties",
-							"Value is required",  true);
-
+        checkClientAndServerMessages("An invalid value was specified for one or more properties",
+                                     "Value is required",  true);
     } 
     
 
@@ -461,7 +473,7 @@
         propertiesMap.put("max-pool-size", "100000000000000");
 
         createDatasource(DatasourceType.XA_DATASOURCE,
-												 DatasourceTemplate.AS5_DEFAULT_XA.getTemplateHtmlSelectValue(),
+                         DatasourceTemplate.AS5_DEFAULT_XA.getTemplateHtmlSelectValue(),
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
@@ -516,7 +528,7 @@
         propertiesMap.put("max-pool-size", "-25");
 
         createDatasource(DatasourceType.NO_TX_DATASOURCE,
-								         DatasourceType.NO_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__No TX Datasource",
+                         DatasourceType.NO_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__No TX Datasource",
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
@@ -538,7 +550,7 @@
         propertiesMap.put("connection-url", "jdbc:hsqldb:.");
 
         createDatasource(DatasourceType.LOCAL_TX_DATASOURCE,
-												 DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__Local TX Datasource",
+                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__Local TX Datasource",
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
@@ -566,14 +578,12 @@
                                  + propertiesMap.get("jndi-name") + "'";
         checkClientAndServerMessages(expectedMessage, expectedMessage, false);
 
-        assertFalse(isDatasourceDeployed(
-						propertiesMap.get("jndi-name"),
-            DatasourceType.LOCAL_TX_DATASOURCE));
+        assertFalse(isDatasourceDeployed(propertiesMap.get("jndi-name"),
+                                         DatasourceType.LOCAL_TX_DATASOURCE));
 
-        // Make sure the entry was removed from the -ds.xml file
-        assertFalse(containsElement(
-						propertiesMap.get("jndi-name"),
-            DatasourceType.LOCAL_TX_DATASOURCE.getXmlElementName() )); //"local-tx-datasource"
+        // Make sure the entry was removed from the -ds.xml file (See JOPR-44)
+        assertFalse(containsElement(propertiesMap.get("jndi-name"),
+                                    DatasourceType.LOCAL_TX_DATASOURCE.getXmlElementName())); 
     }
     
     /**
@@ -592,7 +602,7 @@
         assertFalse(isDatasourceDeployed(propertiesMap.get("jndi-name"),
                                          DatasourceType.NO_TX_DATASOURCE));
 
-        // Make sure the entry was removed from the -ds.xml file
+        // Make sure the entry was removed from the -ds.xml file (See JOPR-44)
         assertFalse(containsElement(propertiesMap.get("jndi-name"),
                                     "no-tx-datasource"));
     }
@@ -613,11 +623,11 @@
         assertFalse(isDatasourceDeployed(propertiesMap.get("jndi-name"),
                                          DatasourceType.XA_DATASOURCE));
 
-        // Make sure the entry was removed from the -ds.xml file
+        // Make sure the entry was removed from the -ds.xml file (See JOPR-44)
         assertFalse(containsElement(propertiesMap.get("jndi-name"),
                                     "xa-datasource"));
     }
-
+    
     /*
      * METRICS TESTS
      */
@@ -641,7 +651,7 @@
         expectedMetrics.put("Max Size", "20.0");
         expectedMetrics.put("Min Size", "5.0");
 
-        checkMetrics( propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE, expectedMetrics );
+        checkMetrics(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE, expectedMetrics);
 
         // Clean up
         deleteDatasource(propertiesMap.get("jndi-name"));
@@ -673,7 +683,7 @@
         expectedMetrics.put("Max Size", "20.0");
         expectedMetrics.put("Min Size", "5.0");
 
-        checkMetrics( propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE, expectedMetrics );
+        checkMetrics(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE, expectedMetrics);
 
         // Clean up
         disconnectDB(con);
@@ -690,14 +700,9 @@
         Map<String, String> propertiesMap = createNoTXDatasource("MetricsMultipleConnectionDS");
 
         // Establish multiple connections
-        ArrayList<Connection> connections = new ArrayList<Connection>();
-        for(int i = 0; i <= 5; i++) {
-            Connection con = connectDB(propertiesMap.get("jndi-name"),
-                                       propertiesMap.get("user-name"), 
-                                       propertiesMap.get("password")); 
-            assertNotNull(con);
-            connections.add(con);
-        }
+        ArrayList<Connection> connections = createConnections(6, propertiesMap.get("jndi-name"),
+                                                              propertiesMap.get("user-name"), 
+                                                              propertiesMap.get("password"));
 
         // Set up the expected values
         Map<String, String> expectedMetrics = new HashMap<String, String>();
@@ -710,13 +715,10 @@
         expectedMetrics.put("Max Size", "20.0");
         expectedMetrics.put("Min Size", "5.0");
 
-        checkMetrics( propertiesMap.get("jndi-name"), DatasourceType.NO_TX_DATASOURCE, expectedMetrics );
+        checkMetrics(propertiesMap.get("jndi-name"), DatasourceType.NO_TX_DATASOURCE, expectedMetrics);
 
         // Clean up
-        for(int i = 0; i <= 5; i++) {
-            disconnectDB(connections.get(i));
-        }
-
+        closeConnections(connections);
         deleteDatasource(propertiesMap.get("jndi-name"));
     }
 
@@ -730,14 +732,9 @@
         Map<String, String> propertiesMap = createNoTXDatasource("MetricsCloseConnectionsDS");
         
         // Establish some connections
-        ArrayList<Connection> connections = new ArrayList<Connection>();
-        for(int i = 0; i <= 4; i++) {
-            Connection con = connectDB(propertiesMap.get("jndi-name"), 
-                                       propertiesMap.get("user-name"), 
-                                       propertiesMap.get("password"));
-            assertNotNull(con);
-            connections.add(con);
-        }
+        ArrayList<Connection> connections = createConnections(5, propertiesMap.get("jndi-name"),
+                                                              propertiesMap.get("user-name"), 
+                                                              propertiesMap.get("password"));
 
         // Close some connections
         disconnectDB(connections.get(0));
@@ -972,10 +969,10 @@
 
         for(Iterator i = metricsMap.keySet().iterator(); i.hasNext();) {
             String metricName = (String)i.next();
-						String expected = metricsMap.get(metricName);
-            String actual   = getMetricValueFromTable(metricName, "dataTable");
-						assertEquals("Incorrect metric value for '"+metricName+"'='"+actual+"'," +
-										" expected '"+expected+"'", actual, expected);
+            String expected = metricsMap.get(metricName);
+            String actual = getMetricValueFromTable(metricName, "dataTable");
+            assertEquals("Incorrect metric value for '"+metricName+"'='"+actual+"'," +
+                         " expected '"+expected+"'", expected, actual);
         }
 
         // Check values under the "Summary" tab
@@ -988,11 +985,10 @@
         
         for(Iterator i = summaryMetrics.iterator(); i.hasNext(); ) {
             String metricName = (String)i.next();
-
-						String expected = metricsMap.get(metricName);
-            String actual   = getMetricValueFromTable(metricName, "dataTable");
+            String expected = metricsMap.get(metricName);
+            String actual = getMetricValueFromTable(metricName, "dataTable");
             assertEquals("Incorrect summary metric value for '"+metricName+"'='"+actual+"'," +
-										" expected '"+expected+"'", actual, expected);
+										" expected '"+expected+"'", expected, actual);
         }
     }
 

Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java	2009-02-04 20:55:30 UTC (rev 137)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java	2009-02-06 18:42:55 UTC (rev 138)
@@ -207,6 +207,34 @@
     }
     
     /*
+     * DELETION TESTS
+     */
+    
+    /**
+     * Test the case in which the -ds.xml file that contains the datasource
+     * to be deleted contains more than one datasource. Make sure the entire
+     * -ds.xml file does not get deleted. (See JBAS-6227.)
+     */
+    public void testDeleteDatasourceComplexDSDotXmlFile() throws Exception {
+
+        // MultipleDatasources-ds.xml contains two Local TX Datasources and
+        // a No TX Datasource. We will delete the No TX Datasource (NoTX-ds.xml).
+        deleteDatasource("NoTX");
+        
+        // Check for the appropriate success messages
+        String expectedMessage = "Successfully deleted No TX Datasource 'NoTX'";
+        checkClientAndServerMessages(expectedMessage, expectedMessage, false);
+
+        // Make sure only the No TX Datasource entry was removed 
+        // from the -ds.xml file
+        String actualDSFile = System.getProperty("jsfunit.deploy.dir") 
+                              + "/MultipleDatasources-ds.xml";
+        String expectedDSFile = System.getProperty("jsfunit.testdata") 
+                                                   + "/datasources/ExpectedMultipleDatasourcesAfterDeletion-ds.xml";
+        compareFiles(actualDSFile, expectedDSFile); 
+    }
+    
+    /*
      * CONFIGURATION TESTS
      */
     
@@ -227,6 +255,8 @@
         navigateToPage(propertiesMap.get("jndi-name"), 
                        DatasourceType.XA_DATASOURCE, 
                        "configurationTab");
+                       
+        // See EMBJOPR-58               
         assertFalse("The configuration page could not be displayed",
                     client.getPageAsText().contains("There was an error retrieving the configuration for this resource"));
 
@@ -270,6 +300,8 @@
         navigateToPage(propertiesMap.get("jndi-name"), 
                        DatasourceType.LOCAL_TX_DATASOURCE, 
                        "configurationTab");
+                       
+        // See EMBJOPR-58
         assertFalse("The configuration page could not be displayed",
                     client.getPageAsText().contains("There was an error retrieving the configuration for this resource"));
 
@@ -306,6 +338,8 @@
         navigateToPage(propertiesMap.get("jndi-name"), 
                        DatasourceType.NO_TX_DATASOURCE, 
                        "configurationTab");
+                       
+        // See EMBJOPR-58
         assertFalse("The configuration page could not be displayed",
                     client.getPageAsText().contains("There was an error retrieving the configuration for this resource"));
 
@@ -334,13 +368,17 @@
         deleteDatasource(propertiesMap.get("jndi-name"));   
     }
     
+    /*
+     * OPERATIONS TESTS
+     */
+    
     /**
-     * Test the "Flush" operation.
+     * Test the "Flush" operation after creating a new datasource.
      */
-    public void testFlushOperation() throws IOException { 
+    public void testFlushOperationAfterDatasourceCreation() throws IOException { 
         
         // Min pool size will be 6, max pool size will be 15
-        Map<String, String> propertiesMap = createXADatasource("FlushDS");
+        Map<String, String> propertiesMap = createXADatasource("FlushAfterDatasourceCreationDS");
 
         performDatasourceOperation(propertiesMap.get("jndi-name"), DatasourceType.XA_DATASOURCE, "Flush");
 
@@ -359,9 +397,45 @@
         
         // Clean up
         deleteDatasource(propertiesMap.get("jndi-name"));   
-    } 
+    }
     
     /**
+     * Test the "Flush" operation after multiple connections to a database 
+     * have been created.  
+     */
+    public void testFlushOperationAfterMultipleConnections() throws Exception { 
+        
+        // Min pool size will be 5, max pool size will be 20
+        Map<String, String> propertiesMap = createLocalTXDatasource("FlushAfterMultipleConnectionsDS");
+
+        // Create some connections and then close them. This will
+        // result in non-zero values for "Connection Created Count" and
+        // "Max Connections In Use Count".
+        ArrayList<Connection> connections = createConnections(5, propertiesMap.get("jndi-name"), 
+                                                              propertiesMap.get("user-name"), 
+                                                              propertiesMap.get("password")); 
+        closeConnections(connections); 
+
+        performDatasourceOperation(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE, "Flush");
+
+        // Make sure the metrics are updated appropriately
+        Map<String, String> expectedMetrics = new HashMap<String, String>();
+        expectedMetrics.put("Available Connection Count", "20.0");
+        expectedMetrics.put("Connection Count", "0.0"); 
+        expectedMetrics.put("Connection Created Count", "0.0");
+        expectedMetrics.put("Connection Destroyed Count", "0.0");
+        expectedMetrics.put("In Use Connection Count", "0.0");
+        expectedMetrics.put("Max Connections In Use Count", "0.0");
+        expectedMetrics.put("Max Size", "20.0");
+        expectedMetrics.put("Min Size", "5.0");
+
+        checkMetrics(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE, expectedMetrics);
+        
+        // Clean up
+        deleteDatasource(propertiesMap.get("jndi-name"));   
+    }
+    
+    /**
      * Test the "List Formatted Sub Pool Statistics" after creating a new
      * datasource.
      */

Added: trunk/jsfunit/testdata/datasources/ExpectedMultipleDatasourcesAfterDeletion-ds.xml
===================================================================
--- trunk/jsfunit/testdata/datasources/ExpectedMultipleDatasourcesAfterDeletion-ds.xml	                        (rev 0)
+++ trunk/jsfunit/testdata/datasources/ExpectedMultipleDatasourcesAfterDeletion-ds.xml	2009-02-06 18:42:55 UTC (rev 138)
@@ -0,0 +1,40 @@
+<datasources>
+   <local-tx-datasource>
+      <jndi-name>LocalTX1</jndi-name>
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+      <user-name>sa</user-name>
+      <password></password>
+      <min-pool-size>5</min-pool-size>
+      <max-pool-size>20</max-pool-size>
+      <idle-timeout-minutes>10</idle-timeout-minutes>
+      <track-statements/>
+      <security-domain>HsqlDbRealm</security-domain>
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+      <metadata>
+         <type-mapping>FirstSQL/J</type-mapping>
+      </metadata>
+   </local-tx-datasource>
+   <local-tx-datasource>
+      <jndi-name>LocalTX2</jndi-name>
+      <use-java-context>false</use-java-context>
+      <min-pool-size>5</min-pool-size>
+      <max-pool-size>10</max-pool-size>
+      <idle-timeout-minutes>15</idle-timeout-minutes>
+      <background-validation>false</background-validation>
+      <background-validation-millis>10000</background-validation-millis>
+      <validate-on-match>false</validate-on-match>
+      <metadata>
+         <type-mapping>FirstSQL/J</type-mapping>
+      </metadata>
+      <user-name>sa</user-name>
+      <password></password>
+      <prepared-statement-cache-size>10</prepared-statement-cache-size>
+      <share-prepared-statements>false</share-prepared-statements>
+      <set-tx-query-timeout>false</set-tx-query-timeout>
+      <query-timeout>36000</query-timeout>
+      <use-try-lock>60000</use-try-lock>
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+   </local-tx-datasource>
+</datasources>

Added: trunk/jsfunit/testdata/datasources/MultipleDatasources-ds.xml
===================================================================
--- trunk/jsfunit/testdata/datasources/MultipleDatasources-ds.xml	                        (rev 0)
+++ trunk/jsfunit/testdata/datasources/MultipleDatasources-ds.xml	2009-02-06 18:42:55 UTC (rev 138)
@@ -0,0 +1,56 @@
+<datasources>
+   <local-tx-datasource>
+      <jndi-name>LocalTX1</jndi-name>
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+      <user-name>sa</user-name>
+      <password></password>
+      <min-pool-size>5</min-pool-size>
+      <max-pool-size>20</max-pool-size>
+      <idle-timeout-minutes>10</idle-timeout-minutes>
+      <track-statements/>
+      <security-domain>HsqlDbRealm</security-domain>
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+      <metadata>
+         <type-mapping>FirstSQL/J</type-mapping>
+      </metadata>
+   </local-tx-datasource>
+   <no-tx-datasource>
+      <jndi-name>NoTX</jndi-name>
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+      <user-name>sa</user-name>
+      <password></password>
+      <min-pool-size>10</min-pool-size>
+      <max-pool-size>30</max-pool-size>
+      <idle-timeout-minutes>5</idle-timeout-minutes>
+      <track-statements/>
+      <security-domain>HsqlDbRealm</security-domain>
+      <prepared-statement-cache-size>20</prepared-statement-cache-size>
+      <metadata>
+         <type-mapping>FirstSQL/J</type-mapping>
+      </metadata>
+   </no-tx-datasource>
+   <local-tx-datasource>
+      <jndi-name>LocalTX2</jndi-name>
+      <use-java-context>false</use-java-context>
+      <min-pool-size>5</min-pool-size>
+      <max-pool-size>10</max-pool-size>
+      <idle-timeout-minutes>15</idle-timeout-minutes>
+      <background-validation>false</background-validation>
+      <background-validation-millis>10000</background-validation-millis>
+      <validate-on-match>false</validate-on-match>
+      <metadata>
+         <type-mapping>FirstSQL/J</type-mapping>
+      </metadata>
+      <user-name>sa</user-name>
+      <password></password>
+      <prepared-statement-cache-size>10</prepared-statement-cache-size>
+      <share-prepared-statements>false</share-prepared-statements>
+      <set-tx-query-timeout>false</set-tx-query-timeout>
+      <query-timeout>36000</query-timeout>
+      <use-try-lock>60000</use-try-lock>
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+   </local-tx-datasource>
+</datasources>




More information about the embjopr-commits mailing list