JDBC test script error" The result of 'TestRunner()' is not callable"

Gang Yan <[email protected]> Wed, 14 Oct 2015 03:53:35 -0700 (PDT)
Newsgroups gmane.comp.java.grinder.user
Message-ID <bb8c70cb-4ba4-439f-980b-b71a902f07d8@default>
--===============8452913649772079096==
Content-Type: multipart/alternative;
	boundary="__1444820017727149276abhmp0002.oracle.com"

--__1444820017727149276abhmp0002.oracle.com
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi all :

=C2=A0

I use JDBC.py script run=C2=A0 performance testing . grinder log info:

=C2=A0

2015-10-14 18:42:40,132 ERROR com-0 thread-24: aborting thread - {}The resu=
lt of 'TestRunner()' is not callable

net.grinder.scriptengine.jython.JythonScriptExecutionException: The result =
of 'TestRunner()' is not callable

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.grinder.scriptengine.jyth=
on.JythonScriptEngine.createWorkerRunnable(JythonScriptEngine.java:183) ~[g=
rinder-core-3.11.jar:na]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.grinder.engine.process.Gr=
inderProcess$ThreadStarterImplementation$2.create(GrinderProcess.java:784) =
~[grinder-core-3.11.jar:na]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.grinder.engine.process.Gr=
inderThread.run(GrinderThread.java:90) ~[grinder-core-3.11.jar:na]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at java.lang.Thread.run(Thread.j=
ava:744) [na:1.7.0_45]

2015-10-14 18:42:40,132 ERROR com-0 thread-3: aborting thread - {}The resul=
t of 'TestRunner()' is not callable

net.grinder.scriptengine.jython.JythonScriptExecutionException: The result =
of 'TestRunner()' is not callable

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.grinder.scriptengine.jyth=
on.JythonScriptEngine.createWorkerRunnable(JythonScriptEngine.java:183) ~[g=
rinder-core-3.11.jar:na]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.grinder.engine.process.Gr=
inderProcess$ThreadStarterImplementation$2.create(GrinderProcess.java:784) =
~[grinder-core-3.11.jar:na]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.grinder.engine.process.Gr=
inderThread.run(GrinderThread.java:90) ~[grinder-core-3.11.jar:na]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at java.lang.Thread.run(Thread.j=
ava:744) [na:1.7.0_45]

=C2=A0

I modify script, but still =C2=A0error. Please help check it.

=C2=A0

I =C2=A0test script :

=C2=A0

# The sorting tes=C2=A0 supports a configurable array length.

# It runs the JavaTest.sort method of the JavaTest class.

=C2=A0

from net.grinder.script.Grinder import grinder

from net.grinder.script import Test

from datetime import datetime

from datetime import timedelta

from java.sql import DriverManager

from oracle.jdbc import OracleDriver

=C2=A0

########################################

#

# main body of test script starts here

#

########################################

=C2=A0

# Get the propeties to access test configuration information

properties =3D grinder.getProperties()

=C2=A0

# The description is a property (instead of a hardcoded string in this scri=
pt)

#test =3D Test(1, properties.get("javatest.description"))

test =3D Test(2, properties.get("javatest.description"))

=C2=A0

# select the method for which to collect information

# test.record(WriteMulitpleLittleFile.write)

=C2=A0

# initialize data for compressing

# fileName =3D properties.get("javatest.fileToCompress")

# grinder.logger.info("data file to compress is " + fileName)

# JavaTest.initializeCompression(fileName)

=C2=A0

# If the run mode is runOnce, the TestRunner class will

# run once.=C2=A0 Otherwise, if the run mode is continuous,

# the TestRunner class will run the test for at least

# the specified duration (but possibly longer)

runMode =3D properties.get("javatest.runMode")

#WriteMulitpleLittleFile.setParameters(dir, fileSize...)

if runMode =3D=3D "continuous":

=C2=A0 # figure out how long to run the test

=C2=A0 m =3D int(properties.getProperty("javatest.durationMinutes", "0"))

=C2=A0 h =3D int(properties.getProperty("javatest.durationHours", "0"))

=C2=A0 d =3D int(properties.getProperty("javatest.durationDays", "0"))

=C2=A0 duration =3D timedelta(minutes=3Dm,hours=3Dh,days=3Dd)

=C2=A0 grinder.logger.info("run mode is continuous, duration is " + str(dur=
ation))

elif runMode =3D=3D "runOnce":

=C2=A0 grinder.logger.info("run mode is run once")

=C2=A0 duration =3D timedelta(minutes=3D0)

else:

=C2=A0 grinder.logger.info("run mode not set or not recongized, default to =
run once")

=C2=A0 duration =3D timedelta(minutes=3D0)

=C2=A0

########################################

#

# The TestRunner class is used by The Grinder to perform the test

#

########################################

=C2=A0

#test1 =3D Test(1, "Database insert")

test2 =3D Test(2, "Database query")

=C2=A0

# Load the Oracle JDBC driver.

DriverManager.registerDriver(OracleDriver())

=C2=A0

def getConnection():

=C2=A0=C2=A0=C2=A0 return DriverManager.getConnection(

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "jdbc:oracle:thin:@den00bvr.us.o=
racle.com:1521:orcl", "PBPUBLIC", "PBPUBLIC")

=C2=A0

def ensureClosed(object):

=C2=A0=C2=A0=C2=A0 try: object.close()

=C2=A0=C2=A0=C2=A0 except: pass

=C2=A0

# One time initialisation that cleans out old data.

connection =3D getConnection()

statement =3D connection.createStatement()

=C2=A0

#try: statement.execute("drop table grinder_test1126")

#except: pass

=C2=A0

#statement.execute("create table grinder_test1126(thread number, run number=
)")

=C2=A0

ensureClosed(statement)

ensureClosed(connection)

=C2=A0

class TestRunner:

=C2=A0=C2=A0 def __init__(self):

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tid =3D grinder.threadNumber

=C2=A0

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (grinder.threadNumber % 2 =
=3D=3D 0):

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 E=
ven threadNumber

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D=
o insertStatement

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else:

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 O=
dd threadNumber

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D=
o queryStatement

=C2=A0

#=C2=A0=C2=A0 def __call__(self):

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 self.testRunner()

=C2=A0

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 endTime =3D datetime.now() + dur=
ation

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 notDone =3D True

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while notDone:

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 connection =3D None

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 insertStatement =3D None

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 queryStatement =3D None

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 notDone =3D datetime.now()=
 < endTime

=C2=A0

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 try:

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 connecti=
on =3D getConnection()

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 insertStateme=
nt =3D connection.createStatement()

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 querySta=
tement =3D connection.createStatement()

=C2=A0

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 test1.record(=
insertStatement)

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 insertStateme=
nt.execute("insert into grinder_test1126 values(%d, %d)" %

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (grinder.threadNu=
mber, grinder.runNumber))

=C2=A0

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 test2.re=
cord(queryStatement)

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 querySta=
tement.execute("select * from employee")

=C2=A0

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 finally:

#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ensureClosed(=
insertStatement)

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ensureCl=
osed(queryStatement)

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ensureCl=
osed(connection)

=C2=A0

--__1444820017727149276abhmp0002.oracle.com
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dutf-8"><meta name=3DGenerator content=3D"Microsoft=
 Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
=09{font-family:=E5=AE=8B=E4=BD=93;
=09panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
=09{font-family:"\@=E5=AE=8B=E4=BD=93";
=09panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0cm;
=09margin-bottom:.0001pt;
=09font-size:12.0pt;
=09font-family:=E5=AE=8B=E4=BD=93;}
a:link, span.MsoHyperlink
=09{mso-style-priority:99;
=09color:blue;
=09text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
=09{mso-style-priority:99;
=09color:purple;
=09text-decoration:underline;}
span.EmailStyle17
=09{mso-style-type:personal-reply;
=09font-family:"Calibri","sans-serif";
=09color:#1F497D;}
.MsoChpDefault
=09{mso-style-type:export-only;}
@page WordSection1
=09{size:612.0pt 792.0pt;
=09margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
=09{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DZH-CN link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><div><div><p class=3DMsoNormal><span =
lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";c=
olor:#1F497D'>Hi all :<o:p></o:p></span></p><p class=3DMsoNormal><span lang=
=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color=
:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-=
US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F49=
7D'>I use JDBC.py script run=C2=A0 performance testing . grinder log info:<=
o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-=
size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:1=
0.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>2015-10-14 18:42:40=
,132 ERROR com-0 thread-24: aborting thread - {}The result of 'TestRunner()=
' is not callable<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN=
-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F4=
97D'>net.grinder.scriptengine.jython.JythonScriptExecutionException: The re=
sult of 'TestRunner()' is not callable<o:p></o:p></span></p><p class=3DMsoN=
ormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","s=
ans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net=
.grinder.scriptengine.jython.JythonScriptEngine.createWorkerRunnable(Jython=
ScriptEngine.java:183) ~[grinder-core-3.11.jar:na]<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 at net.grinder.engine.process.GrinderProcess$ThreadStarterImplementa=
tion$2.create(GrinderProcess.java:784) ~[grinder-core-3.11.jar:na]<o:p></o:=
p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.=
5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 at net.grinder.engine.process.GrinderThread.run(Grind=
erThread.java:90) ~[grinder-core-3.11.jar:na]<o:p></o:p></span></p><p class=
=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]<o:p></o:p></span></=
p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>2015-10-14 18:42:40,132 ERROR co=
m-0 thread-3: aborting thread - {}The result of 'TestRunner()' is not calla=
ble<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'f=
ont-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>net.grind=
er.scriptengine.jython.JythonScriptExecutionException: The result of 'TestR=
unner()' is not callable<o:p></o:p></span></p><p class=3DMsoNormal><span la=
ng=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";col=
or:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.grinder.scrip=
tengine.jython.JythonScriptEngine.createWorkerRunnable(JythonScriptEngine.j=
ava:183) ~[grinder-core-3.11.jar:na]<o:p></o:p></span></p><p class=3DMsoNor=
mal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","san=
s-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at net.g=
rinder.engine.process.GrinderProcess$ThreadStarterImplementation$2.create(G=
rinderProcess.java:784) ~[grinder-core-3.11.jar:na]<o:p></o:p></span></p><p=
 class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family=
:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:9=
0) ~[grinder-core-3.11.jar:na]<o:p></o:p></span></p><p class=3DMsoNormal><s=
pan lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-seri=
f";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at java.lang.T=
hread.run(Thread.java:744) [na:1.7.0_45]<o:p></o:p></span></p><p class=3DMs=
oNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNorma=
l><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-=
serif";color:#1F497D'>I modify script, but still =C2=A0error. Please help c=
heck it.<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=
=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'fo=
nt-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>I =C2=A0te=
st script :<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US st=
yle=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><=
o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D=
'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'># The s=
orting tes=C2=A0 supports a configurable array length.<o:p></o:p></span></p=
><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-fam=
ily:"Calibri","sans-serif";color:#1F497D'># It runs the JavaTest.sort metho=
d of the JavaTest class.<o:p></o:p></span></p><p class=3DMsoNormal><span la=
ng=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";col=
or:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DE=
N-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>from net.grinder.script.Grinder import grinder<o:p></o:p></span></p><=
p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-famil=
y:"Calibri","sans-serif";color:#1F497D'>from net.grinder.script import Test=
<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font=
-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>from datetim=
e import datetime<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN=
-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F4=
97D'>from datetime import timedelta<o:p></o:p></span></p><p class=3DMsoNorm=
al><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans=
-serif";color:#1F497D'>from java.sql import DriverManager<o:p></o:p></span>=
</p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-=
family:"Calibri","sans-serif";color:#1F497D'>from oracle.jdbc import Oracle=
Driver<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=
=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'fo=
nt-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>##########=
##############################<o:p></o:p></span></p><p class=3DMsoNormal><s=
pan lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-seri=
f";color:#1F497D'>#<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3D=
EN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1=
F497D'># main body of test script starts here<o:p></o:p></span></p><p class=
=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>#<o:p></o:p></span></p><p class=3DMsoNorma=
l><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-=
serif";color:#1F497D'>########################################<o:p></o:p></=
span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;=
font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span><=
/p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-f=
amily:"Calibri","sans-serif";color:#1F497D'># Get the propeties to access t=
est configuration information<o:p></o:p></span></p><p class=3DMsoNormal><sp=
an lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif=
";color:#1F497D'>properties =3D grinder.getProperties()<o:p></o:p></span></=
p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p c=
lass=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"=
Calibri","sans-serif";color:#1F497D'># The description is a property (inste=
ad of a hardcoded string in this script)<o:p></o:p></span></p><p class=3DMs=
oNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'>#test =3D Test(1, properties.get(&quot;javatest=
.description&quot;))<o:p></o:p></span></p><p class=3DMsoNormal><span lang=
=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>test =3D Test(2, properties.get(&quot;javatest.description&quot;)=
)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'fon=
t-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;=
</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size=
:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'># select the meth=
od for which to collect information<o:p></o:p></span></p><p class=3DMsoNorm=
al><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans=
-serif";color:#1F497D'># test.record(WriteMulitpleLittleFile.write)<o:p></o=
:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10=
.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></s=
pan></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;f=
ont-family:"Calibri","sans-serif";color:#1F497D'># initialize data for comp=
ressing<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=
=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'># fi=
leName =3D properties.get(&quot;javatest.fileToCompress&quot;)<o:p></o:p></=
span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;=
font-family:"Calibri","sans-serif";color:#1F497D'># grinder.logger.info(&qu=
ot;data file to compress is &quot; + fileName)<o:p></o:p></span></p><p clas=
s=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Cal=
ibri","sans-serif";color:#1F497D'># JavaTest.initializeCompression(fileName=
)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'fon=
t-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;=
</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size=
:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'># If the run mode=
 is runOnce, the TestRunner class will<o:p></o:p></span></p><p class=3DMsoN=
ormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","s=
ans-serif";color:#1F497D'># run once.=C2=A0 Otherwise, if the run mode is c=
ontinuous,<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US sty=
le=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'># =
the TestRunner class will run the test for at least<o:p></o:p></span></p><p=
 class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family=
:"Calibri","sans-serif";color:#1F497D'># the specified duration (but possib=
ly longer)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US sty=
le=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>ru=
nMode =3D properties.get(&quot;javatest.runMode&quot;)<o:p></o:p></span></p=
><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-fam=
ily:"Calibri","sans-serif";color:#1F497D'>#WriteMulitpleLittleFile.setParam=
eters(dir, fileSize...)<o:p></o:p></span></p><p class=3DMsoNormal><span lan=
g=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'>if runMode =3D=3D &quot;continuous&quot;:<o:p></o:p></span></p><=
p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-famil=
y:"Calibri","sans-serif";color:#1F497D'>=C2=A0 # figure out how long to run=
 the test<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US styl=
e=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=
=A0 m =3D int(properties.getProperty(&quot;javatest.durationMinutes&quot;, =
&quot;0&quot;))<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-U=
S style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>=C2=A0 h =3D int(properties.getProperty(&quot;javatest.durationHours&quo=
t;, &quot;0&quot;))<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3D=
EN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1=
F497D'>=C2=A0 d =3D int(properties.getProperty(&quot;javatest.durationDays&=
quot;, &quot;0&quot;))<o:p></o:p></span></p><p class=3DMsoNormal><span lang=
=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>=C2=A0 duration =3D timedelta(minutes=3Dm,hours=3Dh,days=3Dd)<o:p=
></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-siz=
e:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=A0 grinder.l=
ogger.info(&quot;run mode is continuous, duration is &quot; + str(duration)=
)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'fon=
t-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>elif runMod=
e =3D=3D &quot;runOnce&quot;:<o:p></o:p></span></p><p class=3DMsoNormal><sp=
an lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif=
";color:#1F497D'>=C2=A0 grinder.logger.info(&quot;run mode is run once&quot=
;)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'fo=
nt-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=A0 dur=
ation =3D timedelta(minutes=3D0)<o:p></o:p></span></p><p class=3DMsoNormal>=
<span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>else:<o:p></o:p></span></p><p class=3DMsoNormal><span l=
ang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";co=
lor:#1F497D'>=C2=A0 grinder.logger.info(&quot;run mode not set or not recon=
gized, default to run once&quot;)<o:p></o:p></span></p><p class=3DMsoNormal=
><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-s=
erif";color:#1F497D'>=C2=A0 duration =3D timedelta(minutes=3D0)<o:p></o:p><=
/span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt=
;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span>=
</p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-=
family:"Calibri","sans-serif";color:#1F497D'>##############################=
##########<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US sty=
le=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>#<=
o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-=
size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'># The TestRun=
ner class is used by The Grinder to perform the test<o:p></o:p></span></p><=
p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-famil=
y:"Calibri","sans-serif";color:#1F497D'>#<o:p></o:p></span></p><p class=3DM=
soNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri"=
,"sans-serif";color:#1F497D'>########################################<o:p><=
/o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:=
10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p><=
/span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt=
;font-family:"Calibri","sans-serif";color:#1F497D'>#test1 =3D Test(1, &quot=
;Database insert&quot;)<o:p></o:p></span></p><p class=3DMsoNormal><span lan=
g=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'>test2 =3D Test(2, &quot;Database query&quot;)<o:p></o:p></span><=
/p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-f=
amily:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:=
"Calibri","sans-serif";color:#1F497D'># Load the Oracle JDBC driver.<o:p></=
o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:1=
0.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>DriverManager.regis=
terDriver(OracleDriver())<o:p></o:p></span></p><p class=3DMsoNormal><span l=
ang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";co=
lor:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3D=
EN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1=
F497D'>def getConnection():<o:p></o:p></span></p><p class=3DMsoNormal><span=
 lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";=
color:#1F497D'>=C2=A0=C2=A0=C2=A0 return DriverManager.getConnection(<o:p><=
/o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:=
10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 &quot;jdbc:oracle:thin:@den00bvr.us.oracle.com:152=
1:orcl&quot;, &quot;PBPUBLIC&quot;, &quot;PBPUBLIC&quot;)<o:p></o:p></span>=
</p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-=
family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p=
 class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family=
:"Calibri","sans-serif";color:#1F497D'>def ensureClosed(object):<o:p></o:p>=
</span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0 try:=
 object.close()<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-U=
S style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>=C2=A0=C2=A0=C2=A0 except: pass<o:p></o:p></span></p><p class=3DMsoNorma=
l><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-=
serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><spa=
n lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'># One time initialisation that cleans out old data.<o:p></o=
:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10=
.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>connection =3D getCo=
nnection()<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US sty=
le=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>st=
atement =3D connection.createStatement()<o:p></o:p></span></p><p class=3DMs=
oNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNorma=
l><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-=
serif";color:#1F497D'>#try: statement.execute(&quot;drop table grinder_test=
1126&quot;)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US st=
yle=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>#=
except: pass<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US s=
tyle=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=
<o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=
=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>#sta=
tement.execute(&quot;create table grinder_test1126(thread number, run numbe=
r)&quot;)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US styl=
e=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:=
p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'f=
ont-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>ensureClo=
sed(statement)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US=
 style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D=
'>ensureClosed(connection)<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";c=
olor:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=
=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>class TestRunner:<o:p></o:p></span></p><p class=3DMsoNormal><span=
 lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";=
color:#1F497D'>=C2=A0=C2=A0 def __init__(self):<o:p></o:p></span></p><p cla=
ss=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Ca=
libri","sans-serif";color:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 tid =3D grinder.threadNumber<o:p></o:p></span></p><p class=3DMsoNormal>=
<span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";c=
olor:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (grinder.threa=
dNumber % 2 =3D=3D 0):<o:p></o:p></span></p><p class=3DMsoNormal><span lang=
=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 Even threadNumber<o:p></o:p></span></p><p class=3DMsoNormal><span=
 lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";=
color:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 Do insertStatement<o:p></o:p></span></p><p class=3DMsoNorma=
l><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-=
serif";color:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else:<o:p=
></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-siz=
e:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>#=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Odd threadNumber<=
o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-=
size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>#=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Do queryStatem=
ent<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'f=
ont-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbs=
p;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-si=
ze:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>#=C2=A0=C2=A0 d=
ef __call__(self):<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DE=
N-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 self.testRunner()<o:p></o:p></s=
pan></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;f=
ont-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></=
p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 endTime =3D datetime.now() + duration<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 notDone =3D True<o:p></o:p></span></p><p class=3DMsoNormal><span lan=
g=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while notDone:<o:p></=
o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:1=
0.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 connection =3D None<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 insertStatement =3D None<o:p></o:p></span></p><p class=3DMsoNo=
rmal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sa=
ns-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 q=
ueryStatement =3D None<o:p></o:p></span></p><p class=3DMsoNormal><span lang=
=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 notDone =3D date=
time.now() &lt; endTime<o:p></o:p></span></p><p class=3DMsoNormal><span lan=
g=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN=
-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F4=
97D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 try:<o:p></o:p></span></p><=
p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-famil=
y:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 connection =3D getConnection()<o:p></o:p>=
</span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 insertStatement =3D connection.crea=
teStatement()<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'=
>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 querySt=
atement =3D connection.createStatement()<o:p></o:p></span></p><p class=3DMs=
oNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNorma=
l><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-=
serif";color:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 test1.record(insertStatement)<o:p></o:p></span></p><p class=3DMso=
Normal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","=
sans-serif";color:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 insertStatement.execute(&quot;insert into grinder_test1126 =
values(%d, %d)&quot; %<o:p></o:p></span></p><p class=3DMsoNormal><span lang=
=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (grinder=
.threadNumber, grinder.runNumber))<o:p></o:p></span></p><p class=3DMsoNorma=
l><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-=
serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><spa=
n lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 test2.record(queryStatement)<o:p></o:p></span></p><p class=3DMsoN=
ormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","s=
ans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 queryStatement.execute(&quot;select * from employee&quot=
;)<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'fo=
nt-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp=
;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-siz=
e:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 finally:<o:p></o:p></span></p><p class=3DMsoNor=
mal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri","san=
s-serif";color:#1F497D'>#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 ensureClosed(insertStatement)<o:p></o:p></span></p><p class=3D=
MsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:"Calibri=
","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 ensureClosed(queryStatement)<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.5pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ensureClosed(connection)<o:p></o:p></span></=
p></div><div><p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></spa=
n></p></div></div></div></body></html>
--__1444820017727149276abhmp0002.oracle.com--


--===============8452913649772079096==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------

--===============8452913649772079096==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
grinder-use mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/grinder-use

--===============8452913649772079096==--