jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ago...@apache.org
Subject svn commit: r1807103 - in /jmeter/trunk: bin/jmeter.properties src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java xdocs/changes.xml xdocs/usermanual/component_reference.xml
Date Sat, 02 Sep 2017 22:15:28 GMT
Author: agomes
Date: Sat Sep  2 22:15:28 2017
New Revision: 1807103

URL: http://svn.apache.org/viewvc?rev=1807103&view=rev
Log:
Add a list for "JDBC Connection Configuration" "Validation Query" attribut. Screenshot later
after I modified another attribute

Modified:
    jmeter/trunk/bin/jmeter.properties
    jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jmeter/trunk/bin/jmeter.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1807103&r1=1807102&r2=1807103&view=diff
==============================================================================
--- jmeter/trunk/bin/jmeter.properties (original)
+++ jmeter/trunk/bin/jmeter.properties Sat Sep  2 22:15:28 2017
@@ -714,6 +714,10 @@ wmlParser.types=text/vnd.wap.wml
 # Max size of BLOBs and CLOBs to store in JDBC sampler. Result will be cut off
 #jdbcsampler.max_retain_result_size=65536
 
+# Database validation query
+# based in https://stackoverflow.com/questions/10684244/dbcp-validationquery-for-different-databases
list
+jdbc.config.check.query=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS|select 1 from dual|select
1 from sysibm.sysdummy1|select 1|select 1 from rdb$database
+
 #---------------------------------------------------------------------------
 # OS Process Sampler configuration
 #---------------------------------------------------------------------------

Modified: jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java?rev=1807103&r1=1807102&r2=1807103&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java
(original)
+++ jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java
Sat Sep  2 22:15:28 2017
@@ -30,6 +30,8 @@ import java.util.Set;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.jmeter.testbeans.BeanInfoSupport;
 import org.apache.jmeter.testbeans.gui.TypeEditor;
+import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.util.JOrphanUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -86,9 +88,11 @@ public class DataSourceElementBeanInfo e
         p = property("connectionAge");
         p.setValue(NOT_UNDEFINED, Boolean.TRUE);
         p.setValue(DEFAULT, "5000");
-        p = property("checkQuery");
+        p = property("checkQuery", TypeEditor.ComboStringEditor);
         p.setValue(NOT_UNDEFINED, Boolean.TRUE);
         p.setValue(DEFAULT, "Select 1");
+        String[] CHECK_QUERY = getCheckQuery();
+        p.setValue(TAGS, CHECK_QUERY);
         p = property("dbUrl");
         p.setValue(NOT_UNDEFINED, Boolean.TRUE);
         p.setValue(DEFAULT, "");
@@ -132,4 +136,13 @@ public class DataSourceElementBeanInfo e
         }
         return -1;
     }
+
+    /**
+     * Get the check queris for the main databases
+     * Based in https://stackoverflow.com/questions/10684244/dbcp-validationquery-for-different-databases
+     * @return a String[] with the list of check queries
+     */
+    private String[] getCheckQuery() {
+        return JOrphanUtils.split(JMeterUtils.getPropDefault("jdbc.config.check.query", ""),
"|"); //$NON-NLS-1$
+    }
 }

Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1807103&r1=1807102&r2=1807103&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Sat Sep  2 22:15:28 2017
@@ -103,6 +103,7 @@ Incorporated feed back about unclear doc
 <ul>
     <li><bug>61320</bug>Test Action : Set duration to <code>0</code>
by default</li>
     <li>JDBC Connection Configuration : Set Max Number of Connections to <code>0</code>
by default</li>
+    <li>JDBC Connection Configuration : Add a list for main databases validation queries
for "Validation Query" attribute</li>
 </ul>
 
 <h3>Controllers</h3>

Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1807103&r1=1807102&r2=1807103&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Sep  2 22:15:28 2017
@@ -4028,6 +4028,20 @@ instead. (see figures 12 and 13).</p>
         <property name="Validation Query" required="No">A simple query used to determine
if the database is still responding.
         This defaults to the '<code>isValid()</code>' method of the jdbc driver,
which is suitable for many databases.
         However some may require a different query; for example Oracle something like '<code>SELECT
1 FROM DUAL</code>' could be used.
+        <p>The list of the validation queries can be configured with <code>jdbc.config.check.query</code>
property and are by default:</p>
+            <ul>
+              <li>hsqldb - select 1 from INFORMATION_SCHEMA.SYSTEM_USERS</li>
+              <li>Oracle - select 1 from dual</li>
+              <li>DB2 - select 1 from sysibm.sysdummy1</li>
+              <li>mysql - select 1</li>
+              <li>microsoft SQL Server - select 1</li>
+              <li>postgresql - select 1</li>
+              <li>ingres - select 1</li>
+              <li>derby - values 1</li>
+              <li>H2 - select 1</li>
+              <li>Firebird - select 1 from rdb$database</li>
+            </ul>
+        <note>The list come from <a href="https://stackoverflow.com/questions/10684244/dbcp-validationquery-for-different-databases">https://stackoverflow.com/questions/10684244/dbcp-validationquery-for-different-databases</a>
and it can be incorrect</note>
         <note>Note this validation query is used on pool creation to validate it even
if "<code>Test While Idle</code>" suggests query would only be used on idle connections.
         This is DBCP behaviour.</note>
         </property>



Mime
View raw message