On 3 December 2011 20:53, <[email protected]> wrote: > Author: pmouawad > Date: Sat Dec 3 20:53:32 2011 > New Revision: 1210001 > > URL: http://svn.apache.org/viewvc?rev=1210001&view=rev > Log: > Bug 52128 - Add JDBC pre- and post-processor > > Added: > jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png (with > props) > jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png (with props) > jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx
Should really be in the demos/ subdirectory; please move it there (and change any links) Also needs EOL setting the same as other JMXs, ie LF (not native) > Modified: > jmeter/trunk/xdocs/usermanual/component_reference.xml > > Added: jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png > URL: > http://svn.apache.org/viewvc/jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png?rev=1210001&view=auto > ============================================================================== > Binary file - no diff available. > > Propchange: jmeter/trunk/xdocs/images/screenshots/jdbc-post-processor.png > ------------------------------------------------------------------------------ > svn:mime-type = application/octet-stream > > Added: jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png > URL: > http://svn.apache.org/viewvc/jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png?rev=1210001&view=auto > ============================================================================== > Binary file - no diff available. > > Propchange: jmeter/trunk/xdocs/images/screenshots/jdbc-pre-processor.png > ------------------------------------------------------------------------------ > svn:mime-type = application/octet-stream > > Added: jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx > URL: > http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx?rev=1210001&view=auto > ============================================================================== > --- jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx (added) > +++ jmeter/trunk/xdocs/usermanual/JDBC-Pre-Post-Processor.jmx Sat Dec 3 > 20:53:32 2011 > @@ -0,0 +1,445 @@ > +<?xml version="1.0" encoding="UTF-8"?> > +<jmeterTestPlan version="1.2" properties="2.1"> > + <hashTree> > + <TestPlan guiclass="TestPlanGui" testclass="TestPlan" > testname="Concurrent Valuation Test Plan" enabled="true"> > + <stringProp name="TestPlan.comments">Execute a series of concurrent > valuations</stringProp> > + <boolProp name="TestPlan.functional_mode">false</boolProp> > + <boolProp name="TestPlan.serialize_threadgroups">true</boolProp> > + <elementProp name="TestPlan.user_defined_variables" > elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" > testname="User Defined Variables" enabled="true"> > + <collectionProp name="Arguments.arguments"> > + <elementProp name="CalculateFees" elementType="Argument"> > + <stringProp name="Argument.name">CalculateFees</stringProp> > + <stringProp name="Argument.value">1</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="CalculatePerformanceDetails" > elementType="Argument"> > + <stringProp > name="Argument.name">CalculatePerformanceDetails</stringProp> > + <stringProp name="Argument.value">1</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="DriverURL" elementType="Argument"> > + <stringProp name="Argument.name">DriverURL</stringProp> > + <stringProp > name="Argument.value">jdbc:jtds:sqlserver:</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="DatabasePort" elementType="Argument"> > + <stringProp name="Argument.name">DatabasePort</stringProp> > + <stringProp name="Argument.value">1433</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="UseMiddleTierValuationEngine" > elementType="Argument"> > + <stringProp > name="Argument.name">UseMiddleTierValuationEngine</stringProp> > + <stringProp name="Argument.value">0</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="MiddleTierRequestTimeout" > elementType="Argument"> > + <stringProp > name="Argument.name">MiddleTierRequestTimeout</stringProp> > + <stringProp name="Argument.value">500000</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="PricePropagationMode" elementType="Argument"> > + <stringProp > name="Argument.name">PricePropagationMode</stringProp> > + <stringProp name="Argument.value">2</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + </collectionProp> > + </elementProp> > + <stringProp name="TestPlan.user_define_classpath"></stringProp> > + </TestPlan> > + <hashTree> > + <Arguments guiclass="ArgumentsPanel" testclass="Arguments" > testname="MI PCO config" enabled="true"> > + <collectionProp name="Arguments.arguments"> > + <elementProp name="PCOQuality" elementType="Argument"> > + <stringProp name="Argument.name">PCOQuality</stringProp> > + <stringProp name="Argument.value">5</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="ValueDate" elementType="Argument"> > + <stringProp name="Argument.name">ValueDate</stringProp> > + <stringProp name="Argument.value">2011-07-21</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="ReportingDate" elementType="Argument"> > + <stringProp name="Argument.name">ReportingDate</stringProp> > + <stringProp name="Argument.value">2011-07-21 > 12:30:08.337</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + </collectionProp> > + </Arguments> > + <hashTree/> > + <Arguments guiclass="ArgumentsPanel" testclass="Arguments" > testname="MI 440 SSD GAIA Config" enabled="true"> > + <collectionProp name="Arguments.arguments"> > + <elementProp name="Database" elementType="Argument"> > + <stringProp name="Argument.name">Database</stringProp> > + <stringProp name="Argument.value">HSPAD_MI_440_SSD</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="DatabaseHost" elementType="Argument"> > + <stringProp name="Argument.name">DatabaseHost</stringProp> > + <stringProp name="Argument.value">GAIA</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="DatabaseUser" elementType="Argument"> > + <stringProp name="Argument.name">DatabaseUser</stringProp> > + <stringProp name="Argument.value">sa</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="DatabasePassword" elementType="Argument"> > + <stringProp name="Argument.name">DatabasePassword</stringProp> > + <stringProp name="Argument.value">sa2008</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + </collectionProp> > + </Arguments> > + <hashTree/> > + <Arguments guiclass="ArgumentsPanel" testclass="Arguments" > testname="MI PCO Pfo List" enabled="true"> > + <collectionProp name="Arguments.arguments"> > + <elementProp name="Pfo_1" elementType="Argument"> > + <stringProp name="Argument.name">Pfo_1</stringProp> > + <stringProp name="Argument.value">1548</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="Pfo_2" elementType="Argument"> > + <stringProp name="Argument.name">Pfo_2</stringProp> > + <stringProp name="Argument.value">1611</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + <elementProp name="Pfo_3" elementType="Argument"> > + <stringProp name="Argument.name">Pfo_3</stringProp> > + <stringProp name="Argument.value">1613</stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + </collectionProp> > + <stringProp name="TestPlan.comments">CutOff Nr 11249, 2011-07-2 / > 2011-07-21 12:30:08.337 / DailyNAV Estimate / Within Price > Cut-Off</stringProp> > + </Arguments> > + <hashTree/> > + <JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" > testname="JDBC Connection Configuration" enabled="true"> > + <boolProp name="autocommit">false</boolProp> > + <stringProp name="checkQuery"></stringProp> > + <stringProp name="connectionAge">5000</stringProp> > + <stringProp name="dataSource"></stringProp> > + <stringProp > name="dbUrl">${DriverURL}//${DatabaseHost}:${DatabasePort}/${Database}</stringProp> > + <stringProp > name="driver">net.sourceforge.jtds.jdbc.Driver</stringProp> > + <boolProp name="keepAlive">true</boolProp> > + <stringProp name="password">${DatabasePassword}</stringProp> > + <stringProp name="poolMax">25</stringProp> > + <stringProp name="timeout">10000</stringProp> > + <stringProp name="trimInterval">60000</stringProp> > + <stringProp name="username">${DatabaseUser}</stringProp> > + <stringProp name="transactionIsolation">4096</stringProp> > + <stringProp name="TestPlan.comments">Connect to local HSPAD_Demo_CO > and set its isolation mode to SNAPSHOT (4096) and disable auto > commit.</stringProp> > + </JDBCDataSource> > + <hashTree/> > + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" > testname="3 Users" enabled="true"> > + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> > + <elementProp name="ThreadGroup.main_controller" > elementType="LoopController" guiclass="LoopControlPanel" > testclass="LoopController" testname="Loop Controller" enabled="true"> > + <boolProp name="LoopController.continue_forever">false</boolProp> > + <stringProp name="LoopController.loops">3</stringProp> > + </elementProp> > + <stringProp name="ThreadGroup.num_threads">3</stringProp> > + <stringProp name="ThreadGroup.ramp_time">0</stringProp> > + <longProp name="ThreadGroup.start_time">1316530469000</longProp> > + <longProp name="ThreadGroup.end_time">1316530469000</longProp> > + <boolProp name="ThreadGroup.scheduler">false</boolProp> > + <stringProp name="ThreadGroup.duration"></stringProp> > + <stringProp name="ThreadGroup.delay"></stringProp> > + </ThreadGroup> > + <hashTree> > + <ModuleController guiclass="ModuleControllerGui" > testclass="ModuleController" testname="PCO Valuation" enabled="true"> > + <collectionProp name="ModuleController.node_path"> > + <stringProp name="-1227702913">WorkBench</stringProp> > + <stringProp name="1465685679">Concurrent Valuation Test > Plan</stringProp> > + <stringProp name="1372988285">PCO Valuation</stringProp> > + </collectionProp> > + </ModuleController> > + <hashTree/> > + </hashTree> > + <SetupThreadGroup guiclass="SetupThreadGroupGui" > testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true"> > + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> > + <elementProp name="ThreadGroup.main_controller" > elementType="LoopController" guiclass="LoopControlPanel" > testclass="LoopController" testname="Loop Controller" enabled="true"> > + <boolProp name="LoopController.continue_forever">false</boolProp> > + <stringProp name="LoopController.loops">1</stringProp> > + </elementProp> > + <stringProp name="ThreadGroup.num_threads">1</stringProp> > + <stringProp name="ThreadGroup.ramp_time">1</stringProp> > + <longProp name="ThreadGroup.start_time">1320821253000</longProp> > + <longProp name="ThreadGroup.end_time">1320821253000</longProp> > + <boolProp name="ThreadGroup.scheduler">false</boolProp> > + <stringProp name="ThreadGroup.duration"></stringProp> > + <stringProp name="ThreadGroup.delay"></stringProp> > + </SetupThreadGroup> > + <hashTree> > + <TestAction guiclass="TestActionGui" testclass="TestAction" > testname="Setup Middle Tier usage" enabled="true"> > + <intProp name="ActionProcessor.action">1</intProp> > + <intProp name="ActionProcessor.target">0</intProp> > + <stringProp name="ActionProcessor.duration"></stringProp> > + </TestAction> > + <hashTree> > + <JDBCPreProcessor guiclass="TestBeanGUI" > testclass="JDBCPreProcessor" testname="Set UseMiddleTierValuationEngine and > Timeout" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="query">UPDATE T_SettingGlobal SET > UseMiddleTierValuationEngine=?, MiddleTierRequestTimeout=?</stringProp> > + <stringProp > name="queryArguments">${UseMiddleTierValuationEngine}, > ${MiddleTierRequestTimeout}</stringProp> > + <stringProp name="queryArgumentsTypes">BIT, INTEGER</stringProp> > + <stringProp name="queryType">Prepared Update > Statement</stringProp> > + <stringProp name="resultVariable"></stringProp> > + <stringProp name="variableNames"></stringProp> > + </JDBCPreProcessor> > + <hashTree/> > + <JDBCPreProcessor guiclass="TestBeanGUI" > testclass="JDBCPreProcessor" testname="Commit" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Commit</stringProp> > + <stringProp name="query"></stringProp> > + <stringProp name="queryArguments"></stringProp> > + <stringProp name="queryArgumentsTypes"></stringProp> > + <stringProp name="variableNames"></stringProp> > + <stringProp name="resultVariable"></stringProp> > + </JDBCPreProcessor> > + <hashTree/> > + </hashTree> > + <TestAction guiclass="TestActionGui" testclass="TestAction" > testname="Clear caches" enabled="true"> > + <intProp name="ActionProcessor.action">1</intProp> > + <intProp name="ActionProcessor.target">0</intProp> > + <stringProp name="ActionProcessor.duration">0</stringProp> > + </TestAction> > + <hashTree> > + <JDBCPreProcessor guiclass="TestBeanGUI" > testclass="JDBCPreProcessor" testname="Clear Buffers" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Update Statement</stringProp> > + <stringProp name="query">DBCC DROPCLEANBUFFERS</stringProp> > + <stringProp name="queryArguments"></stringProp> > + <stringProp name="queryArgumentsTypes"></stringProp> > + <stringProp name="variableNames"></stringProp> > + <stringProp name="resultVariable"></stringProp> > + </JDBCPreProcessor> > + <hashTree/> > + <JDBCPreProcessor guiclass="TestBeanGUI" > testclass="JDBCPreProcessor" testname="Clear Proc Cache" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Update Statement</stringProp> > + <stringProp name="query">DBCC FREEPROCCACHE</stringProp> > + <stringProp name="queryArguments"></stringProp> > + <stringProp name="queryArgumentsTypes"></stringProp> > + <stringProp name="variableNames"></stringProp> > + <stringProp name="resultVariable"></stringProp> > + </JDBCPreProcessor> > + <hashTree/> > + </hashTree> > + </hashTree> > + <TestFragmentController guiclass="TestFragmentControllerGui" > testclass="TestFragmentController" testname="PCO Valuation" enabled="true"/> > + <hashTree> > + <TransactionController guiclass="TransactionControllerGui" > testclass="TransactionController" testname="Calculate PCO Transaction" > enabled="true"> > + <boolProp name="TransactionController.parent">true</boolProp> > + </TransactionController> > + <hashTree> > + <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" > testname="Begin Tran" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Update Statement</stringProp> > + <stringProp name="query">BEGIN TRAN COMMIT TRAN</stringProp> > + <stringProp name="queryArguments"></stringProp> > + <stringProp name="queryArgumentsTypes"></stringProp> > + <stringProp name="variableNames"></stringProp> > + <stringProp name="resultVariable"></stringProp> > + <boolProp name="collectDiagnostics">false</boolProp> > + </JDBCSampler> > + <hashTree/> > + <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" > testname="Calculate Price cut off" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Callable Statement</stringProp> > + <stringProp name="query">PfoVal_Recalculate ?, ?, 1</stringProp> > + <stringProp name="queryArguments">${Pfo_1}, > ${PfoValInstance}</stringProp> > + <stringProp name="queryArgumentsTypes">INTEGER, > INTEGER</stringProp> > + <stringProp name="variableNames"></stringProp> > + <stringProp name="resultVariable"></stringProp> > + <boolProp name="collectDiagnostics">true</boolProp> > + </JDBCSampler> > + <hashTree> > + <BSFPreProcessor guiclass="TestBeanGUI" > testclass="BSFPreProcessor" testname="Prepare Portfolio List for Price > Cut-Off" enabled="true"> > + <stringProp name="scriptLanguage">groovy</stringProp> > + <stringProp name="parameters"></stringProp> > + <stringProp name="filename"></stringProp> > + <stringProp name="script">import groovy.sql.Sql > +import org.apache.jmeter.protocol.jdbc.config.DataSourceElement > +try { > + // build Pfo List > + println("Building Portfolio List") > + def pfoList = "<PfoList>" > + def pfoNr = 1 > + def pfo = vars.get("Pfo_" + pfoNr) > + while(pfo != null) { > + println("Pfo: $pfo"); > + pfoList = pfoList + "<Pfo ID='$pfo' > EmptyValuation='true' PropagatePrice='true'/>" > + pfoNr++ > + pfo = vars.get("Pfo_" + pfoNr) > + } > + pfoList = pfoList + "</PfoList>" > + vars.put("PfoListXML", pfoList) > +} catch (Exception e) { > + println(e.toString()); > +}</stringProp> > + </BSFPreProcessor> > + <hashTree/> > + <JDBCPreProcessor guiclass="TestBeanGUI" > testclass="JDBCPreProcessor" testname="Create Price Cut-Off" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="query">CreatePriceCutOff ?, ?, ?, ?, ?, ?, > ?, ?</stringProp> > + <stringProp > name="queryArguments">${__threadNum},${ValueDate},${PCOQuality},${ReportingDate},]NULL[,${PCO},${PfoListXML},${PricePropagationMode}</stringProp> > + <stringProp name="queryArgumentsTypes">VARCHAR, DATE, > INTEGER,TIMESTAMP,INTEGER,OUT INTEGER,CLOB,INTEGER</stringProp> > + <stringProp name="queryType">Callable Statement</stringProp> > + <stringProp name="resultVariable"></stringProp> > + <stringProp name="variableNames"></stringProp> > + </JDBCPreProcessor> > + <hashTree/> > + <JDBCPreProcessor guiclass="TestBeanGUI" > testclass="JDBCPreProcessor" testname="Get Portfolio Valuation Instance from > Price Cut-Off" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Prepared Select > Statement</stringProp> > + <stringProp name="query">select Nr from PfoValInstance where > Pfo=? AND PriceCutOff=?</stringProp> > + <stringProp name="queryArguments">${Pfo_1},${PCO}</stringProp> > + <stringProp > name="queryArgumentsTypes">INTEGER,INTEGER</stringProp> > + <stringProp name="variableNames">PfoValInstance</stringProp> > + <stringProp name="resultVariable"></stringProp> > + </JDBCPreProcessor> > + <hashTree/> > + <JDBCPostProcessor guiclass="TestBeanGUI" > testclass="JDBCPostProcessor" testname="JDBC PostProcessor" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="query">DeletePriceCutOff ?</stringProp> > + <stringProp name="queryArguments">${PCO}</stringProp> > + <stringProp name="queryArgumentsTypes">INTEGER</stringProp> > + <stringProp name="queryType">Callable Statement</stringProp> > + <stringProp name="resultVariable"></stringProp> > + <stringProp name="variableNames"></stringProp> > + </JDBCPostProcessor> > + <hashTree/> > + </hashTree> > + <IfController guiclass="IfControllerPanel" > testclass="IfController" testname="If Controller" enabled="true"> > + <stringProp > name="IfController.condition">${JMeterThread.last_sample_ok}</stringProp> > + <boolProp name="IfController.evaluateAll">false</boolProp> > + </IfController> > + <hashTree> > + <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" > testname="Commit" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Commit</stringProp> > + <stringProp name="query"></stringProp> > + <stringProp name="queryArguments"></stringProp> > + <stringProp name="queryArgumentsTypes"></stringProp> > + <stringProp name="variableNames"></stringProp> > + <stringProp name="resultVariable"></stringProp> > + <stringProp name="TestPlan.comments">Commit the transaction of > the valuation</stringProp> > + <boolProp name="collectDiagnostics">false</boolProp> > + </JDBCSampler> > + <hashTree/> > + </hashTree> > + <IfController guiclass="IfControllerPanel" > testclass="IfController" testname="If Controller" enabled="true"> > + <stringProp > name="IfController.condition">${JMeterThread.last_sample_ok}==false</stringProp> > + <boolProp name="IfController.evaluateAll">false</boolProp> > + </IfController> > + <hashTree> > + <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" > testname="Rollback" enabled="true"> > + <stringProp name="dataSource"></stringProp> > + <stringProp name="queryType">Rollback</stringProp> > + <stringProp name="query"></stringProp> > + <stringProp name="queryArguments"></stringProp> > + <stringProp name="queryArgumentsTypes"></stringProp> > + <stringProp name="variableNames"></stringProp> > + <stringProp name="resultVariable"></stringProp> > + <boolProp name="collectDiagnostics">false</boolProp> > + </JDBCSampler> > + <hashTree/> > + </hashTree> > + </hashTree> > + </hashTree> > + <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" > testname="Summary Report" enabled="true"> > + <boolProp name="ResultCollector.error_logging">false</boolProp> > + <objProp> > + <name>saveConfig</name> > + <value class="SampleSaveConfiguration"> > + <time>true</time> > + <latency>false</latency> > + <timestamp>true</timestamp> > + <success>false</success> > + <label>true</label> > + <code>false</code> > + <message>false</message> > + <threadName>true</threadName> > + <dataType>false</dataType> > + <encoding>false</encoding> > + <assertions>false</assertions> > + <subresults>false</subresults> > + <responseData>false</responseData> > + <samplerData>false</samplerData> > + <xml>true</xml> > + <fieldNames>false</fieldNames> > + <responseHeaders>false</responseHeaders> > + <requestHeaders>false</requestHeaders> > + <responseDataOnError>false</responseDataOnError> > + > <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> > + <assertionsResultsToSave>0</assertionsResultsToSave> > + </value> > + </objProp> > + <stringProp name="filename"></stringProp> > + </ResultCollector> > + <hashTree/> > + <ResultCollector guiclass="ViewResultsFullVisualizer" > testclass="ResultCollector" testname="View Results Tree" enabled="true"> > + <boolProp name="ResultCollector.error_logging">false</boolProp> > + <objProp> > + <name>saveConfig</name> > + <value class="SampleSaveConfiguration"> > + <time>true</time> > + <latency>true</latency> > + <timestamp>true</timestamp> > + <success>true</success> > + <label>true</label> > + <code>true</code> > + <message>true</message> > + <threadName>true</threadName> > + <dataType>true</dataType> > + <encoding>false</encoding> > + <assertions>true</assertions> > + <subresults>true</subresults> > + <responseData>false</responseData> > + <samplerData>false</samplerData> > + <xml>true</xml> > + <fieldNames>false</fieldNames> > + <responseHeaders>false</responseHeaders> > + <requestHeaders>false</requestHeaders> > + <responseDataOnError>false</responseDataOnError> > + > <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> > + <assertionsResultsToSave>0</assertionsResultsToSave> > + <bytes>true</bytes> > + </value> > + </objProp> > + <stringProp name="filename"></stringProp> > + </ResultCollector> > + <hashTree/> > + <ResultCollector guiclass="TableVisualizer" > testclass="ResultCollector" testname="View Results in Table" enabled="true"> > + <boolProp name="ResultCollector.error_logging">false</boolProp> > + <objProp> > + <name>saveConfig</name> > + <value class="SampleSaveConfiguration"> > + <time>true</time> > + <latency>true</latency> > + <timestamp>true</timestamp> > + <success>true</success> > + <label>true</label> > + <code>true</code> > + <message>true</message> > + <threadName>true</threadName> > + <dataType>true</dataType> > + <encoding>false</encoding> > + <assertions>true</assertions> > + <subresults>true</subresults> > + <responseData>false</responseData> > + <samplerData>false</samplerData> > + <xml>true</xml> > + <fieldNames>false</fieldNames> > + <responseHeaders>false</responseHeaders> > + <requestHeaders>false</requestHeaders> > + <responseDataOnError>false</responseDataOnError> > + > <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> > + <assertionsResultsToSave>0</assertionsResultsToSave> > + <bytes>true</bytes> > + </value> > + </objProp> > + <stringProp name="filename"></stringProp> > + </ResultCollector> > + <hashTree/> > + </hashTree> > + </hashTree> > +</jmeterTestPlan> > > Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml > URL: > http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1210001&r1=1210000&r2=1210001&view=diff > ============================================================================== > --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original) > +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Dec 3 20:53:32 > 2011 > @@ -4455,9 +4455,21 @@ For details, see <complink name="BSF Pre > <description> > <p> > The JDBC PreProcessor enables you to run some SQL statement just before a > sample runs. > -This can be useful if your JDBC Sample changes some data and you want to > reset state to what it was before the JDBC sample run. > +This can be useful if your JDBC Sample requires some data to be in DataBase > and you cannot compute this in a setup Thread group. > +</p> > +<p> > +See the following Test plan: > </p> > +<links> > + <link href="JDBC-Pre-Post-Processor.jmx">Test Plan using JDBC > Pre/Post Processor</link> > +</links> > +<p> > +In the linked test plan,"Create Price Cut-Off" JDBC PreProcessor calls a > stored procedure to create a Price Cut-Off in Database, > +this one will be used by "Calculate Price cut off". > + > +<figure width="1346" height="636" image="jdbc-pre-processor.png">Create > Price Cut-Off Preprocessor</figure> > > +</p> > </description> > </component> > > @@ -4791,13 +4803,17 @@ For details, see the <complink name="BSF > <description> > <p> > The JDBC PostProcessor enables you to run some SQL statement just after a > sample has run. > -This can be useful if your JDBC Sample requires some data to be in DataBase > and you cannot compute this in a setup Thread group. > +This can be useful if your JDBC Sample changes some data and you want to > reset state to what it was before the JDBC sample run. > </p> > </description> > </component> > - > -<a href="#">^</a> > - > +<links> > + <link href="JDBC-Pre-Post-Processor.jmx">Test Plan using JDBC > Pre/Post Processor</link> > +</links> > +<p> > +In the linked test plan,"JDBC PostProcessor" JDBC PostProcessor calls a > stored procedure to delete the Price Cut-Off that was created by PreProcessor > from Database. > +<figure width="1343" height="631" image="jdbc-post-processor.png">JDBC > PostProcessor</figure> > +</p> > </section> > > <section name="§-num;.9 Miscellaneous Features" > anchor="Miscellaneous_Features"> > >
